Project Creation
Creating a project is the entry point to the AI design pipeline.
User Flow
- User clicks New Project
- Enters project name + brief (free text description)
- Optionally uploads brand assets (logo, colors)
- Clicks Generate → AI pipeline runs
- Preview is shown, user can iterate
Code Path
src/routes/(app)/projects/new/+page.svelte
→ POST /api/projects (creates DB record)
→ POST /api/generate (starts AI pipeline)
→ SSE stream → UI updates (live progress)
→ redirect /projects/:id (on completion)Brief Input Guidelines
The brief input accepts free text but the Planner Agent extracts these signals:
| Signal | Example |
|---|---|
| Industry | "Steuerberatung", "SaaS", "Handwerk" |
| Target audience | "Unternehmer", "Freelancer", "B2B" |
| Tone | "professionell", "modern", "vertrauensvoll" |
| Goal | "Anfragen generieren", "Demo buchen" |
| Existing branding | "Farbe: #1A6B4A", "Logo attached" |
More context = better output. Short briefs produce generic designs.
Status States
| Status | Meaning |
|---|---|
draft | Created, no generation run yet |
generating | AI pipeline running |
ready | Generation successful, preview available |
error | Pipeline failed, partial result stored |
published | Exported/deployed |
Error Handling
If generation fails mid-pipeline, the project enters error state. The partial result (e.g., design brief without code) is preserved. The user can:
- Retry generation (resumes from last checkpoint)
- Edit the brief and re-generate
- View error details in the project settings