[1.1] Project Creation Wizard

1. Front Matter

  • Title: Project Creation Wizard

  • Author: Sean Patrick Caintic (scorevi)

  • Reviewers: Krizha Onise Cortez (armaminter)

  • Created: March 2026

  • Status: Approved

  • References:

    • Issue: [1.1] Project Creation Wizard #70

    • Sub-Issue: [1.1.1] Quest Mode Selection #283

    • Milestone: [1] Diagnose (Project Setup)


2. Introduction & Goals

  • Problem Summary: Creators need a streamlined interface to start new quest projects. The wizard provides two paths: AI-assisted creation (leveraging the AI Idea Validator) or manual creation with a blank canvas. This ensures both novice creators can get AI guidance and experienced creators can jump straight to building.

  • Goals:

    • Provide path selection modal (AI Assistant vs Blank Canvas)

    • Support quest mode selection (Linear vs Exploration)

    • Enable form pre-population from AI Validator import

    • Redirect to quest editor after project creation

  • Non-Goals:

    • Template library selection (separate feature)

    • Cloning existing projects

    • Collaborative project creation

  • Glossary:

    • Quest Mode: Linear (sequential) or Exploration (branching) learning path

    • AI Validator: Gemini-powered topic validation and curriculum generation

    • Canvas Metadata: React Flow nodes/edges JSON structure


3. High-Level Architecture

  • System Diagram:

image.png
  • Technologies Used:

    • Next.js App Router - Page routing and Server Actions

    • Shadcn Dialog - Path selection modal

    • Shadcn RadioGroup - Quest mode selector

    • Supabase - Project persistence

    • Clerk - Authentication (creator role)


4. Detailed Design & Implementation

  • Data Model / Schema:

quests Table (Relevant Columns):

Column

Type

Description

id

UUID PK

Auto-generated

title

TEXT

Project title

description

TEXT

Project description

quest_mode

TEXT

linear or exploration

status

TEXT

DRAFT, IN_REVIEW, PUBLISHED, ARCHIVED

creator_id

TEXT

Clerk user ID

canvas_metadata

JSONB

React Flow nodes/edges (default: empty)

created_at

TIMESTAMPTZ

Creation timestamp

updated_at

TIMESTAMPTZ

Auto-updated

  • API Specification:

    • POST /api/creator/create-project - Create new quest project

      • Request: { title: string (required), description: string, quest_mode: "linear" | "exploration" (required), tags: string[] }

      • Response: Standard ApiResponse<{ id, title, status }>

  • Logic & Workflows:

Creation Flow:

  1. User clicks "Create Project" button

  2. Path Selection Modal opens

  3. User chooses AI Assistant or Manual path

    • AI Path → Redirects to /creator/ai-validator

    • Manual Path → Opens /creator/create-project form

  4. User selects quest mode (Linear or Exploration)

  5. User fills title, description, and tags

  6. Submit creates project → redirects to quest editor

AI Import Pre-Population:

When coming from AI Validator, the form auto-fills:

  • Title from topic

  • Description from viability rationale

  • Duration calculated from curriculum

  • Tags extracted from key topics

  • Canvas prepared for import

  • Key Files:

    • components/creator/CreateProjectModal.tsx - Path selection modal

    • components/creator/QuestModeSelector.tsx - Linear/Exploration toggle

    • app/creator/create-project/page.tsx - Project creation form

    • app/api/creator/create-project/route.ts - API endpoint


5. Infrastructure & Operations

  • Dependencies:

    • Supabase - Project data persistence

    • Clerk - Authentication and creator role verification

  • Monitoring & Alerting: No specific monitoring. Project creation is low-traffic and idempotent.

  • Deployment Plan:

    1. Deploy API endpoint and UI components

    2. No database migrations required (uses existing quests table)

    3. No feature flags needed


6. Testing & Quality Assurance

  • Test Strategy:

    • Manual: Path selection, quest modes, form validation

    • Integration: API creates project with correct status

  • Known Limitations:

    • No template selection from library

    • Cannot clone existing projects

    • Single creator per project (no collaboration)


7. Maintenance & Support

  • Troubleshooting:

    • Form not pre-populating → Check sessionStorage for AI Validator data

    • Quest mode not saving → Verify quest_mode field in request body

    • Redirect fails → Check quest ID returned from API

  • Changelog:

    • 1.0 (Feb 2026): Initial implementation

    • 1.1 (Feb 2026): Added Quest Mode Selection (#283)


Document Version

1.0 - Approved, Feature deployed to production, 02/15/2026


Was this article helpful?