Roadmap
65 of 71 tasks shipped across 8 phases.
Phase 0 — Project hygiene & local dev
9/9Repo, Supabase local stack, Drizzle migrations, test loop, scripted prod-env sync.
- ✓p0.1Install Supabase CLI + Docker runtime
- ✓p0.2Initialize and start local Supabase project
- ✓p0.3Adopt dotenvx for local env loading
- ✓p0.4Wire Drizzle client + first round-trip table
- ✓p0.5Add separate test database + first integration test
- ✓p0.6Pre-push hook: typecheck + test
- ✓p0.7Add oxlint + oxfmt for lint + format
- ✓p0.8README local-dev quickstart
- ✓p0.9pnpm env:push — sync local prod env to Vercel
Phase 1 — Auth + admin shell + coach roster
13/13Coach can be invited, accept the invite, and land on a dashboard. MN Admin can manage coaches.
- ✓p1.1Schema: coaches + is_admin + access_status + invite audit
- ✓p1.2Install shadcn/ui + base primitives
- ✓p1.3Wire @supabase/ssr server client
- ✓p1.4Coach login page (email + password)
- ✓p1.5Lazy coaches row creation + requireCoach helper
- ✓p1.6access_status check + suspended-coach landing page
- ✓p1.7Replace _index.tsx landing + add /roadmap page
- ✓p1.8Invite-accept flow + welcome email
- ✓p1.9/admin shell + requireMnAdmin gate
- ✓p1.10/admin/coaches — list, invite, suspend, reactivate
- ✓p1.11pnpm coach:invite <email> CLI
- ✓p1.12Seed first MN Admin
- ✓p1.13Coach forgot-password flow
Phase 2 — Content infrastructure
7/9All content tables exist, rec-engine matrix loaded, exercises seeded from v1, Master Methods and Variant Templates loadable.
- ✓p2.1Schema: all content tables in one migration
- ✓p2.2Movement Patterns seed
- ✓p2.3Recommendation matrix conversion (xlsx → JSON)
- ✓p2.4Recommendation matrix DB seed
- ✓p2.5Master Methods CSV import
- ✓p2.6Exercise seed from v1
- ○p2.7Variant Template TypeScript seed format + first templates
- ○p2.8Test Cases conversion (xlsx → JSON, for Phase 3)
- ✓p2.9pnpm seed:all + pnpm db:reset
Phase 3 — Recommendation engine (TDD)
8/8Pure-function rec engine taking typed intake + matrix, returning ranked candidate variants. All test-case fixtures pass.
- ✓p3.1Intake payload types + Zod schema
- ✓p3.21RM Continuum constants module
- ✓p3.3Training Age sub-engine (TDD)
- ✓p3.4Eligibility gate function (TDD)
- ✓p3.5Preference scorer (TDD)
- ✓p3.6recommend() orchestrator + explainability output
- ✓p3.7Full regression suite + weight tuning
- ✓p3.8docs/rec-engine.md — architecture + update loop
Phase 4 — Clients + Intake
8/8Coach creates a Client, shares URL, Client completes OTP verification and 4-step intake wizard.
- ✓p4.1Schema: clients, intakes, client_sessions
- ✓p4.2Resend wiring + sendEmail helper with dev-console fallback
- ✓p4.3Coach UI: create + list + revoke clients
- ✓p4.4Client Space /c/:token + first-open OTP + 90-day cookie
- ✓p4.5Intake form wizard — 4 steps, autosave, shared component
- ✓p4.6Coach notification email on intake submit
- ✓p4.7Coach intake review + Training Age override
- ✓p4.8Coach fills intake on behalf of client (no OTP)
Phase 5 — Recommendation review + Program creation
8/8Coach reviews ranked recommendations, picks a variant, system clones template into a normalized program, coach edits it.
- ✓p5.1Schema: programs, program_sessions, program_slots, program_overrides
- ✓p5.2Recommendation review screen
- ✓p5.3Pick variant → atomic clone + intake snapshot + override record
- ✓p5.4Program editor — render tree + slot-level prescription edits
- ✓p5.5Add / remove / reorder slots and sessions
- ✓p5.6Intake-changed-since-generated soft flag + banner
- ✓p5.7Archived-programs view
- ✓p5.8Education slot UI placeholders
Phase 6 — Exports
7/7PDF, Excel, Google Sheets/Docs (if Connected Google), and Client Space web view — all on-demand.
- ✓p6.1Shared program loader + Export menu on Program editor
- ✓p6.2PDF export via @react-pdf/renderer
- ✓p6.3Excel export via exceljs
- ✓p6.4Client Space web view — render active Program
- ✓p6.5Connected Google: schema + OAuth flow + AES-GCM token encryption
- ✓p6.6Google Sheet export
- ✓p6.7Google Docs export
Phase 7 — Launch polish + first coach onboarding
5/9Production environment live on cerebro.coach; PostHog + cookie consent; legal pages; polish; smoke-tested; first coaches invited.
- ◑p7.1Production Supabase (US East) + migrations + env push
- ○p7.2cerebro.coach domain + Resend sender verification
- ✓p7.3Basic-auth gate made opt-in; verify Coach auth on prod
- ✓p7.4Batch MN Admin seed for production (reset-email flow)
- ✓p7.5PostHog analytics + GDPR cookie consent banner
- ✓p7.6Privacy policy, terms, GDPR request runbook
- ✓p7.7UI polish: 404/500 pages, empty states, favicon, social cards
- ○p7.8Production smoke-test checklist
- ○p7.9First-batch coach invitations