# 🚀 Mission Control – Bouwplan AI Speedrun EPD

🎯 **Projectnaam:** AI Speedrun - Mini-ECD Prototype
**Versie:** v1.6 (Actueel)
**Datum:** 15-11-2024
**Auteur:** Colin van der Heijden (AI Speedrun / ikbenlit.nl)
**Laatste Update:** 15-11-2024

---

## 1. Doel en context

🎯 **Doel:** Een werkend EPD-prototype bouwen in 4 weken dat demonstreert hoe "Software on Demand" traditionele ontwikkeling disrupts: van €100.000+ en 12-24 maanden naar €200 build cost en 4 weken doorlooptijd.

📘 **Toelichting:** Dit project dient een drievoudig doel:
1. **Demo voor GGZ-sector:** Tonen van AI-waarde in EPD-workflows (intake → profiel → plan) tijdens inspiratiesessies
2. **LinkedIn Build in Public:** Wekelijkse transparante updates die viral marketing genereren voor AI consultancy
3. **Software on Demand Proof:** Bewijs dat enterprise-kwaliteit software nu in weken ipv jaren gebouwd kan worden

Het systeem toont praktische AI-integratie: intake samenvattingen in seconden ipv uren, automatische DSM-classificatie, en behandelplannen die direct bruikbaar zijn. Alles met fictieve demo-data, privacy-first design.

---

## 2. Uitgangspunten

### 2.1 Technische Stack
🎯 **Doel:** Modern, bewezen technologie stack voor snelle development en lage run costs.

**Frontend:**
- **Framework:** Next.js 15 (App Router) - Single repo voor marketing + EPD
- **Styling:** Tailwind CSS v3.4 (fallback van v4 bij problemen)
- **UI Components:** shadcn/ui voor snelheid + consistentie
- **Rich Text:** TipTap editor (ProseMirror basis)
- **Icons:** Lucide React
- **State:** Zustand + React Context (simpel maar effectief)

**Backend:**
- **API:** Next.js Route Handlers (server-side)
- **Database:** Supabase (PostgreSQL + Auth + Storage) - EU region
- **AI:** Claude 3.5 Sonnet (Anthropic) - Superieur voor Nederlands
- **Hosting:** Vercel (EU region Amsterdam)

**Development & Tools:**
- **Version Control:** GitHub (public repo voor transparantie)
- **Type Safety:** TypeScript overal
- **Package Manager:** pnpm (sneller dan npm)
- **AI Pair Programming:** Cursor IDE
- **Testing:** Vitest + Playwright (basis coverage)

### 2.2 Projectkaders
🎯 **Doel:** Realistische constraints voor 4-weken sprint.

- **Tijd:** 4 weken part-time (80-120 uur totaal)
- **Budget:** €200 totaal (€50/maand runtime target)
- **Team:** 1 developer (Colin) + AI tools als co-pilot
- **Data:** 100% fictieve demo data
- **Scope:** MVP voor 10-min demo + marketing site
- **Launch:** LinkedIn viral series + demo sessies

### 2.3 Programmeer Uitgangspunten
🎯 **Doel:** Code quality zonder over-engineering voor MVP.

**Core Principles:**
- **DRY:** Herbruikbare componenten, centrale configs
- **KISS:** Simpele oplossingen boven complexiteit
- **SOC:** UI/logic/data layers gescheiden
- **YAGNI:** Alleen bouwen wat nu nodig is

**Development Practices:**
- **Iteratief:** Ship daily, perfect later
- **AI-First:** Laat Claude/Cursor heavy lifting doen
- **Copy-Paste OK:** Voor MVP snelheid > perfectie
- **Error Handling:** User-friendly messages overal
- **Security:** API keys server-side, RLS in Supabase

---

## 3. Epics & Stories Overzicht

🎯 **Doel:** 8 duidelijke epics voor 4-weken development sprint - **Marketing First Strategy**.

| Epic ID | Titel | Doel | Status | Story Count | Week |
|---------|-------|------|--------|-------------|------|
| **WEEK 1 - FOUNDATION & MARKETING** |||||
| E0 | Project Setup | Next.js + Supabase + Vercel running | ✅ Compleet | 5 | 1 |
| E1 | Marketing Website | Landing + EPD demo + lead capture | ✅ Compleet | 6 | 1 |
| **WEEK 2 - EPD CORE** |||||
| E2 | Database & Auth | Schema + RLS + demo users | 🔄 In Progress | 4 | 2 |
| E3 | Core UI & Client Module | Layout + Client CRUD + Navigation | ⏳ To Do | 5 | 2 |
| **WEEK 3 - AI MAGIC** |||||
| E4 | Intake & AI Integration | TipTap + Claude API + Prompts | ⏳ To Do | 6 | 3 |
| E5 | Profile & Plan | DSM + behandelplan flows | ⏳ To Do | 4 | 3 |
| **WEEK 4 - POLISH & LAUNCH** |||||
| E6 | Onboarding System | Walkthrough + tooltips + help | ⏳ To Do | 4 | 4 |
| E7 | Performance & Launch | Optimization + demo prep | ⏳ To Do | 4 | 4 |

---

## 4. Epics & Stories (Uitwerking)

### Epic 0 – Project Setup 🔄
**Epic Doel:** Development environment volledig operationeel.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E0.S1 | Next.js 15 project init | App Router, TypeScript, dev server draait | ✅ Af | 2 |
| E0.S2 | Tailwind + shadcn setup | Custom theme, componenten installeren | 🔄 Gedeeltelijk | 3 |
| E0.S3 | Supabase project aanmaken | EU region, connection string werkend | ✅ Af | 2 |
| E0.S4 | GitHub repo + Vercel deploy | Auto-deploy on push, preview URLs | ✅ Af | 2 |
| E0.S5 | Environment variables | .env.local + Vercel secrets configured | ✅ Af | 1 |

**Technical Notes:**
- Supabase project ID: `dqugbrpwtisgyxscpefg`
- Deploy URL: `https://aispeedrun.vercel.app`
- Package manager: `pnpm` voor snelheid

**Implementation Status:**
- ✅ Next.js 15 + TypeScript initialized
- ✅ Tailwind CSS v3.4 + PostCSS configured
- ⏳ shadcn/ui: basis setup gedaan, componenten nog niet geinstaleerd
- ✅ Supabase clients (server + client) aangemaakt
- ⏳ Migrations folder aangemaakt, nog geen database schema
- ✅ Environment variables geconfigureerd

---

### Epic 1 – Marketing Website 🔄
**Epic Doel:** Public facing website voor Software on Demand story - WEEK 1 PRIORITY.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E1.S1 | Manifesto homepage | Hero quote + manifesto content + comparison table + CTA | ✅ Af | 5 |
| E1.S2 | Build metrics backend | Supabase table, API endpoint, tracking | ⏸️ On Hold | 3 |
| E1.S3 | Build log timeline | Week entries, expandable sections | ⏸️ On Hold | 3 |
| E1.S4 | ROI calculator | Interactive inputs, real-time calculation | ⏸️ On Hold | 3 |
| E1.S5 | Contact form + leads | Form validation, Supabase storage | ✅ Af | 2 |
| E1.S6 | EPD demo page (/epd) | Credentials, video placeholder, feature comparison | ✅ Af | 2 |

**Content Strategy Week 1:**
- **Day 1-2:** Landing page live → LinkedIn post "Building in public starts NOW"
- **Day 3-4:** Build log structure → LinkedIn post "Transparantie: alle uren en kosten"
- **Day 5-6:** ROI calculator → LinkedIn post "Bereken zelf: €100k vs €200"
- **Day 7:** Week 1 retrospective → LinkedIn post "Week 1: Marketing site in 30 uur"

**Implementation Details:**
```typescript
// Route structure
/app
  /(marketing)
    /page.tsx              // Landing page ✅
    /epd/page.tsx          // EPD demo info ✅
    /contact/page.tsx      // Contact form + lead capture ✅
    /build-log/page.tsx    // Timeline (on hold)
    /how-it-works/page.tsx // Explainer + ROI (on hold)
  /api
    /leads/route.ts        // Lead submission API ✅
```

**Current Status:**
- ✅ Manifesto homepage compleet (`app/(marketing)/page.tsx`)
- ✅ EPD demo page compleet (`app/(marketing)/epd/page.tsx`)
- ✅ Marketing route group aangemaakt (`app/(marketing)/`)
- ✅ Marketing layout zonder sidebar geïmplementeerd
- ✅ Content management systeem (JSON-based) opgezet
- ✅ Hero quote section met shader achtergrond
- ✅ Manifesto content component met long-form reading experience
- ✅ Comparison table component (Traditional vs AI Speedrun)
- ✅ Experiment CTA section
- ✅ Minimal navigation component
- ✅ Navigation updated met EPD link
- ✅ Performance & SEO optimalisaties (Lighthouse > 90 target)
- ✅ WCAG AA accessibility compliance
- ⏸️ Build log pagina on hold (E1.S3) - Wachten op definitie van tracking approach
- ⏸️ ROI calculator on hold (E1.S4) - Uitgesteld naar latere fase
- ⏳ Contact form nog niet gebouwd (`/contact`)
- ⏳ Geen database tables voor leads (build_metrics niet nodig)

**Voltooide Componenten:**
- ✅ `HeroQuote` - Full-viewport hero met Jensen Huang quote
- ✅ `MarketingShader` - Dot-shader achtergrond (opacity 0.02)
- ✅ `ManifestoContent` - Long-form content parser en renderer
- ✅ `ComparisonTable` - Responsive comparison table
- ✅ `InsightBox` - Gele border boxes voor key takeaways
- ✅ `StatementSection` - Donkere achtergrond statements
- ✅ `ExperimentCTA` - Call to action section
- ✅ `MinimalNav` - Fixed top navigation
- ✅ `ReadingProgress` - Scroll-based progress bar
- ✅ `StructuredData` - JSON-LD voor SEO
- ✅ `CredentialsBox` - Client-side credentials met copy-to-clipboard

**Content Management:**
- ✅ `content/nl/manifesto.json` - Manifesto homepage content
- ✅ `content/nl/epd.json` - EPD demo page content
- ✅ `content/nl/navigation.json` - Navigation labels
- ✅ `content/nl/metadata.json` - SEO metadata
- ✅ `content/schemas/manifesto.ts` - TypeScript types (incl. EPDContent)

**On Hold:**
- ⏸️ E1.S2: Build metrics backend - Vereenvoudigen naar statische content (JSON-based)
- ⏸️ E1.S3: Build log timeline - Wachten op definitie van tracking approach
- ⏸️ E1.S4: ROI calculator - Uitgesteld naar latere fase

**Next Steps:**
1. Contact form pagina implementeren (`/contact`) - E1.S5
2. Database schema aanmaken voor leads
3. Epic 2: Database & Auth starten (Week 2)

---

### Epic 2 – Database & Auth
**Epic Doel:** Complete database schema met auth en demo data - WEEK 2 START.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E2.S1 | Database schema creëren | 5 tables volgens TO, migrations | ✅ Af | 5 |
| E2.S2 | RLS policies implementeren | Secure by default, auth.uid() checks | ⏳ To Do | 3 |
| E2.S3 | Demo auth flow | Magic link login, demo users | ⏳ To Do | 3 |
| E2.S4 | Seed data script | 3+ clients met complete dossiers | ⏳ To Do | 2 |

**Database Tables:**
```sql
- clients (id, first_name, last_name, birth_date, created_at, updated_at)
- intake_notes (id, client_id, title, tag, content_json, content_text, author, created_at, updated_at)
- problem_profiles (id, client_id, category, severity, remarks, source_note_id, created_at, updated_at)
- treatment_plans (id, client_id, version, status, plan, created_by, created_at, published_at, updated_at)
- ai_events (id, kind, client_id, note_id, request, response, duration_ms, created_at)
```

**Current Status:**
- ✅ Supabase migration `20241115000002_create_epd_core_tables.sql` aangemaakt
- ✅ SQL schema voor alle 5 core tables compleet
- ✅ RLS policies enabled op alle tables (demo policies actief)
- ✅ Automatic updated_at triggers geïmplementeerd
- ✅ Foreign key constraints en indexes aangemaakt
- ✅ Full-text search index op intake_notes.content_text
- ✅ Migration succesvol toegepast op Supabase database (dqugbrpwtisgyxscpefg)
- ⏳ Geen demo auth users aangemaakt
- ⏳ Geen seed data

---

### Epic 3 – Core UI & Client Module
**Epic Doel:** Responsive layout met client management - WEEK 2 PARALLEL.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E3.S1 | Layout skeleton | Topbar + sidebar + main content area | ⏳ To Do | 3 |
| E3.S2 | Navigation routing | /clients, /clients/[id] werkend | ⏳ To Do | 2 |
| E3.S3 | Client list view | Search, filter, pagination | ⏳ To Do | 3 |
| E3.S4 | Create client flow | Form validation, auto client-ID | ⏳ To Do | 2 |
| E3.S5 | Responsive design | Mobile + tablet + desktop perfect | ⏳ To Do | 3 |

**UX Principles:**
- Primary color: `#22C55E` (green-500)
- Mobile-first approach
- Keyboard shortcuts support

---

### Epic 4 – Intake & AI Integration 🎯
**Epic Doel:** TipTap editor met Claude AI volledig werkend - WEEK 3 FOCUS.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E4.S1 | TipTap editor setup | Rich text, auto-save, formatting | ⏳ To Do | 5 |
| E4.S2 | Claude API setup | Server-side calls, error handling | ⏳ To Do | 3 |
| E4.S3 | Intake summarization | 5-8 bullets, source highlighting | ⏳ To Do | 5 |
| E4.S4 | Problem extraction | DSM categories, severity scoring | ⏳ To Do | 5 |
| E4.S5 | B1 readability rewrite | Simplify language on demand | ⏳ To Do | 3 |
| E4.S6 | Cost tracking | Log tokens, estimate costs | ⏳ To Do | 2 |

**Prompt Engineering Week 3:**
```typescript
const SUMMARIZE_PROMPT = `
Vat het intakeverslag samen in 5-8 bullets.
Focus op: hoofdklacht, triggers, impact, context.
Schrijf neutraal, professioneel, Nederlands B1.
`;

const EXTRACT_PROMPT = `
Analyseer de intake en bepaal:
1. DSM-light categorie
2. Severity (laag, middel, hoog)
3. Rationale (2-3 zinnen)
`;
```

---

### Epic 5 – Profile & Treatment Plan
**Epic Doel:** Complete workflow van intake naar behandelplan - WEEK 3 COMPLETION.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E5.S1 | Problem profile UI | DSM cards, severity badges | ⏳ To Do | 3 |
| E5.S2 | Manual profile editing | Override AI suggestions | ⏳ To Do | 2 |
| E5.S3 | Treatment plan UI | Goals, interventions, timeline | ⏳ To Do | 3 |
| E5.S4 | Publish workflow | Concept → Published states | ⏳ To Do | 2 |

**DSM-Light Categories:**
- Stemming/Depressie
- Angst
- Gedrag/Impuls
- Middelen
- Cognitief
- Context/Psychosociaal

---

### Epic 6 – Onboarding System
**Epic Doel:** Modern onboarding experience - WEEK 4 UX FOCUS.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E6.S1 | Onboarding walkthrough | 5 steps, 3 minutes, react-joyride | ⏳ To Do | 5 |
| E6.S2 | Context tooltips | First-use hints, dismissable | ⏳ To Do | 3 |
| E6.S3 | Help icons system | On-demand help panels | ⏳ To Do | 2 |
| E6.S4 | Progress tracking | LocalStorage + Supabase sync | ⏳ To Do | 2 |

**Onboarding Features:**
- Welcome modal met skip optie
- Contextual tooltips bij eerste gebruik
- Help iconen op complexe features
- Progress tracking in localStorage

---

### Epic 7 – Performance & Launch
**Epic Doel:** Production ready met perfecte demo - WEEK 4 FINALE.

| Story ID | Beschrijving | Acceptatiecriteria | Status | Story Points |
|----------|--------------|---------------------|--------|--------------|
| E7.S1 | Performance optimization | <3s loads, code splitting, lazy loading | ⏳ To Do | 3 |
| E7.S2 | Mobile responsive check | All screens perfect on mobile | ⏳ To Do | 2 |
| E7.S3 | Demo dry-run | Full 10-min demo zonder issues | ⏳ To Do | 2 |
| E7.S4 | Production deployment | Environment vars, monitoring setup | ⏳ To Do | 2 |

**Launch Checklist Week 4:**
- [ ] Performance audit (Lighthouse > 90)
- [ ] Mobile responsive check
- [ ] Demo script finalized
- [ ] LinkedIn announcement post ready

---

## 5. Kwaliteit & Testplan

🎯 **Doel:** MVP kwaliteit met focus op demo-stabiliteit.

### Test Strategy
| Type | Coverage | Priority | Tools |
|------|----------|----------|-------|
| Unit Tests | Business logic (80%) | Medium | Vitest |
| Integration | API endpoints | High | Supertest |
| E2E Tests | Happy paths | Critical | Playwright |
| Manual | Complete demo flow | Critical | Checklist |

### Demo Checklist
- [ ] Login werkt foutloos
- [ ] Client aanmaken < 10 seconden
- [ ] AI samenvatting < 5 seconden
- [ ] Behandelplan generatie < 10 seconden
- [ ] Alle UI elementen responsive
- [ ] Geen console errors
- [ ] Performance > 90 Lighthouse

---

## 6. Demo & Presentatieplan

🎯 **Doel:** Perfecte 10-minuten demo voor meerdere doelgroepen.

### Demo Scenario's

**A. GGZ Professional Demo (10 min)**
1. **Intro** (1 min): "Van 30 min documentatie naar 3 minuten"
2. **Live intake** (2 min): TipTap editor, real-time typing
3. **AI magic** (4 min): Samenvatting → Profiel → Plan
4. **ROI pitch** (2 min): Tijdsbesparing calculator
5. **Q&A** (1 min): "Hoe past dit in jullie workflow?"

**B. LinkedIn Audience Demo (5 min)**
1. **Problem** (30s): "Enterprise software is broken"
2. **Solution** (30s): "Software on Demand"
3. **Speed run** (2 min): Week 1-4 highlights
4. **Live product** (1 min): Quick tour
5. **CTA** (1 min): "Build YOUR software in 4 weeks"

**C. Tech Consultancy Pitch (15 min)**
1. **Market opportunity** (3 min): SaaS disruption
2. **Technical deep-dive** (5 min): Architecture choices
3. **Cost breakdown** (3 min): TCO analysis
4. **Case study** (3 min): EPD build metrics
5. **Partnership model** (1 min): White-label options

### Backup Plans
- **Plan A:** Live on aispeedrun.nl
- **Plan B:** Local development server
- **Plan C:** Recorded video (Loom)
- **Plan D:** Screenshots deck

---

## 6.5 Week 1: Marketing Website Implementation Guide

🎯 **Doel:** Marketing site live in 30 uur met directe LinkedIn content generatie.

### Day 1-2: Landing Page Foundation
**Focus:** Hero section + comparison table werkend

```typescript
// app/(marketing)/page.tsx
export default function LandingPage() {
  return (
    <main>
      <HeroSection />        // "Software on Demand" pitch
      <ComparisonTable />    // Traditional vs AI Speedrun
      <ProblemSection />     // Why enterprise software fails
      <SolutionSection />    // How we fix it
      <LiveProofSection />   // Real-time metrics
      <CTASection />        // Lead capture
    </main>
  )
}
```

**Key Components Day 1:**
- `HeroSection`: Animated counter, gradient background
- `ComparisonTable`: Responsive table met visual contrast
- `LiveMetricsDisplay`: Hardcoded initially, database later

**LinkedIn Post Day 1:**
"🚀 Building a €100k EPD for €200. Day 1: Marketing site live. 
Traditional: 6 months planning. Us: 6 hours coding.
Follow along: [link]"

### Day 3-4: Build Log & Metrics
**Focus:** Transparantie dashboard + build tracking

```typescript
// Database schema for metrics
create table build_metrics (
  week_number int unique,
  development_hours decimal,
  infrastructure_cost decimal,
  ai_api_cost decimal,
  features_completed text[],
  blog_post_url text
);

// API endpoint
app/api/build-metrics/route.ts
```

**LinkedIn Post Day 3:**
"📊 Radical transparency: Every hour tracked, every euro counted.
Week 1: 12 hours, €35 costs so far.
Check our build log: [link]"

### Day 5-6: ROI Calculator & Lead Capture
**Focus:** Interactive calculator + contact form

```typescript
// components/marketing/ROICalculator.tsx
export function ROICalculator() {
  const [hours, setHours] = useState(10)
  const [rate, setRate] = useState(75)
  const [users, setUsers] = useState(5)
  
  const savings = hours * 4 * rate * users
  const breakEven = 200 / (savings - 50)
  
  return (
    // Interactive sliders + real-time calculation
  )
}
```

**LinkedIn Post Day 5:**
"💰 Calculate YOUR savings: Our ROI calculator is live.
Average result: 5400% ROI in year 1.
Try it: [link]"

### Day 7: Week 1 Retrospective
**Focus:** Polish + performance + retrospective post

**Checklist:**
- [ ] Lighthouse score > 90
- [ ] Mobile responsive perfect
- [ ] Form submissions working
- [ ] Analytics tracking active
- [ ] Week 1 metrics in database

**LinkedIn Post Day 7:**
"✅ Week 1 complete: Marketing site from 0 to production.
- 30 hours development
- €50 total costs  
- 5 leads already
Next week: Building the actual EPD. Who's watching? 👀"

### Technical Deliverables Week 1:
1. **Routes Created:**
   - `/` - Landing page
   - `/build-log` - Timeline view
   - `/demo` - Demo information
   - `/how-it-works` - Explainer + ROI
   - `/contact` - Lead form

2. **Database Tables:**
   - `build_metrics` - Week tracking
   - `leads` - Form submissions

3. **Components Library:**
   - Marketing layout wrapper
   - Metric cards
   - Timeline entry
   - ROI calculator
   - Lead capture form

4. **Content Created:**
   - 4 LinkedIn posts
   - Landing page copy
   - Demo video script
   - Email templates

---

## 7. Risico's & Mitigatie

🎯 **Doel:** Proactief risicomanagement voor succesvolle launch.

| Risico | Kans | Impact | Mitigatie | Owner |
|--------|------|--------|-----------|-------|
| **TipTap complexiteit** | Hoog | Hoog | Start basic, incrementeel uitbreiden | Colin |
| **Claude API kosten** | Medium | Medium | Caching layer, response limits | Colin |
| **Vercel build limiet** | Laag | Hoog | Optimize bundle, lazy loading | Colin |
| **Demo timing (>10 min)** | Medium | Medium | Oefen 10x, timer visible | Colin |
| **LinkedIn algorithm change** | Laag | Medium | Multi-channel: Twitter/email | Colin |
| **Supabase RLS bugs** | Medium | Hoog | Extensive testing, fallback auth | Colin |
| **AI output inconsistent** | Hoog | Medium | Prompt versioning, examples | Colin |
| **Scope creep** | Hoog | High | Strict MVP focus, "Phase 2" list | Colin |

**Mitigatie Strategie:**
- Daily commits (ship small)
- Weekly LinkedIn updates (build momentum)
- Feature flags (disable broken features)
- Public repo (community help)

---

## 8. Evaluatie & Lessons Learned

🎯 **Doel:** Continue verbetering en kennisdeling.

### Week 1 Review (Te documenteren)
- [ ] Setup sneller/langzamer dan verwacht?
- [ ] Supabase vs Firebase trade-offs?
- [ ] shadcn/ui productivity boost?

### Week 2 Review
- [ ] TipTap learning curve?
- [ ] Client module complexiteit?
- [ ] UI/UX feedback van early testers?

### Week 3 Review
- [ ] Claude API betrouwbaarheid?
- [ ] Prompt engineering iterations?
- [ ] Performance bottlenecks?

### Week 4 Review
- [ ] Marketing site conversie?
- [ ] Demo feedback?
- [ ] Total hours vs estimate?

### Post-Launch Metrics
- **Development:** ___ uur totaal (target: 80-120)
- **Costs:** €___ totaal (target: <€200)
- **LinkedIn:** ___ followers gained
- **Leads:** ___ Software on Demand inquiries
- **Demo's:** ___ uitgevoerd
- **Media:** ___ mentions/articles

---

## 9. Referenties

🎯 **Doel:** Alle projectdocumentatie op één plek.

### Mission Control Documents
- **PRD v1.2** – Product Requirements (Business & Marketing)
- **FO v2.0** – Functioneel Ontwerp (Flows & Features)
- **TO v1.2** – Technisch Ontwerp (Architecture & Database)
- **UX Stylesheet** – Design System & Components
- **API Access** – Endpoints & Authentication

### Project Resources
- **Repository:** `github.com/colinvanderheijden/aispeedrun`
- **Production:** `https://aispeedrun.nl`
- **Staging:** `https://aispeedrun-staging.vercel.app`
- **Supabase:** `app.supabase.com/project/dqugbrpwtisgyxscpefg`
- **LinkedIn Series:** `linkedin.com/in/colinvanderheijden`

### External Documentation
- [Next.js 15 Docs](https://nextjs.org/docs)
- [Supabase Docs](https://supabase.com/docs)
- [Claude API](https://docs.anthropic.com)
- [TipTap Editor](https://tiptap.dev)
- [Vercel Docs](https://vercel.com/docs)

---

## 10. Glossary & Abbreviations

| Term | Betekenis |
|------|-----------|
| **EPD** | Elektronisch Patiënten Dossier |
| **ECD** | Elektronisch Cliënten Dossier |
| **DSM** | Diagnostic and Statistical Manual |
| **GGZ** | Geestelijke Gezondheidszorg |
| **SMART** | Specifiek, Meetbaar, Acceptabel, Realistisch, Tijdgebonden |
| **RLS** | Row Level Security (Supabase) |
| **ISR** | Incremental Static Regeneration |
| **CTA** | Call To Action |
| **TCO** | Total Cost of Ownership |
| **MVP** | Minimum Viable Product |
| **B1** | Taal niveau (intermediate Dutch) |

---

## 11. Voortgang Samenvatting

### Huidige Status (15-11-2024)
- **Algemeen:** Week 1 compleet! Week 2 gestart - 30% totaal compleet
- **Epic 0 (Project Setup):** ✅ 100% compleet - Infrastructure operationeel
- **Epic 1 (Marketing Website):** ✅ 100% compleet - Manifesto, EPD demo & Contact form live (3 stories on hold)
- **Epic 2 (Database & Auth):** 🔄 25% compleet - E2.S1 compleet (database schema), RLS/auth/seed data to do
- **Epic 3-7:** 0% compleet - Nog niet gestart

### Voltooide Items
- ✅ Next.js 15 project initialized met App Router
- ✅ Tailwind CSS v3.4 + PostCSS configured
- ✅ @types/three installed voor TypeScript support
- ✅ Supabase project aangemaakt (dqugbrpwtisgyxscpefg)
- ✅ Supabase clients (server & browser) aangemaakt
- ✅ Environment variables setup
- ✅ GitHub repo initialized
- ✅ Vercel connected
- ✅ Marketing route group aangemaakt (`app/(marketing)/`)
- ✅ Marketing layout zonder sidebar geïmplementeerd
- ✅ Content management systeem (JSON-based) opgezet
- ✅ Manifesto homepage compleet met alle componenten
- ✅ EPD demo page compleet (`/epd`) met credentials, features, comparison
- ✅ Contact form pagina compleet (`/contact`) met validation & lead capture
- ✅ CredentialsBox component met copy-to-clipboard functionaliteit
- ✅ ContactForm component met client-side validation
- ✅ Hero quote section met shader achtergrond
- ✅ Manifesto content component met long-form reading experience
- ✅ Comparison table component
- ✅ Experiment CTA section
- ✅ Minimal navigation component (EPD + Contact links)
- ✅ Leads API endpoint (`/api/leads`) met Zod validation
- ✅ Database migration voor leads table (ready to apply)
- ✅ Performance & SEO optimalisaties
- ✅ WCAG AA accessibility compliance
- ✅ zod package geïnstalleerd voor validatie
- ✅ Database schema voor 5 core EPD tables aangemaakt (E2.S1)
- ✅ Migration file `20241115000002_create_epd_core_tables.sql` aangemaakt
- ✅ Tables: clients, intake_notes, problem_profiles, treatment_plans, ai_events
- ✅ RLS policies enabled op alle EPD tables
- ✅ Automatic updated_at triggers voor alle tables
- ✅ Foreign key constraints en CASCADE deletes geïmplementeerd
- ✅ Indexes voor performance (name search, date sorting, full-text search)
- ✅ Full-text search (Dutch) op intake_notes.content_text
- ✅ Migration succesvol toegepast op Supabase database

### Lopende Werk
- 🔄 Epic 2 (Database & Auth): RLS policies verfijnen (E2.S2)
- 🔄 Epic 2: Demo auth flow opzetten (E2.S3)
- 🔄 Epic 2: Seed data script maken (E2.S4)

### On Hold
- ⏸️ Build metrics backend (E1.S2) - Vereenvoudigen naar statische content
- ⏸️ Build log timeline (E1.S3) - Wachten op definitie van tracking approach
- ⏸️ ROI calculator (E1.S4) - Uitgesteld naar latere fase

### Volgende Prioriteiten (Week 2)
1. 🎯 Epic 2: RLS policies verfijnen voor productie-readiness (E2.S2)
2. 🎯 Epic 2: Demo auth flow implementeren met Supabase Auth (E2.S3)
3. 🎯 Epic 2: Seed data script voor demo clients en dossiers (E2.S4)
4. 🎯 Epic 3 starten: Core UI & Client Module (layout skeleton)

---

**Versiehistorie:**

| Versie | Datum | Auteur | Wijziging |
|--------|-------|--------|-----------|
| v1.0 | 15-11-2024 | Colin | Initiële versie op basis van PRD v1.2 + FO v2.0 + TO v1.2 |
| v1.1 | 15-11-2024 | Colin | Actualisering met huidige implementatiestatus en voortgang |
| v1.2 | 15-11-2024 | Colin | Status update: Manifesto homepage compleet (Epic 1.S1), andere marketing routes nog te bouwen |
| v1.3 | 15-11-2024 | Colin | E1.S2, E1.S3, E1.S4 op on hold gezet - Vereenvoudigen naar statische content approach |
| v1.4 | 15-11-2024 | Colin | EPD demo pagina compleet (E1.S6): `/epd` route met credentials, features, comparison, video placeholder |
| v1.5 | 15-11-2024 | Colin | Contact form compleet (E1.S5): `/contact` route met validation, API endpoint, leads migration. Epic 0 & Epic 1 100% compleet! |
| v1.6 | 15-11-2024 | Colin | Database schema compleet (E2.S1): 5 core EPD tables aangemaakt en toegepast op Supabase. Epic 2 gestart (25% compleet). |
