Your personal curriculum, forged for how you learn.
Pathforge is an AI learning app. You share a goal; it builds a staged path and teaches you one module at a time — real written lessons, optional curated resources, clear progress, and a module-scoped tutor.
- A path that fits you — stages and modules shaped by your goal and a short placement quiz
- Lessons that teach — full module lessons with topic-specific outlines (not skim cards)
- Today’s next step — always know what to open; mark complete when you’re ready (no quiz gates)
- Help when stuck — notes, a light self-check, and a tutor grounded in the current module
- Optional packs — e.g. AI Engineering as a suggested starting point, or any custom topic
- Next.js 16 (App Router) + React 19 + Tailwind v4
- Supabase — Auth (Google + GitHub), Postgres, RLS
- Drizzle ORM — schema source of truth (
src/db/schema.ts) - Vercel AI Gateway + AI SDK
- Serper — web resource search · YouTube Data API (optional videos)
- MDX lessons · optional Mermaid diagrams in the client
pnpm install
cp .env.example .env.local
# fill in keys (see below)- Create a project at supabase.com
- Copy Project URL + anon key into
.env.local - Set both pooler URLs (Supabase → Database → Connection string):
DATABASE_URL— Transaction pooler:6543+?pgbouncer=true(app)DIRECT_URL— Session pooler:5432(migrations / RLS)
- Apply schema (Drizzle only — never hand-write SQL migrations):
pnpm db:generate # schema.ts → drizzle/*.sql
pnpm db:migrate # uses DIRECT_URL
pnpm db:rls # RLS, auth trigger, pack seed
# or: pnpm db:setup- Authentication → Providers → enable Google and GitHub
- Authentication → URL configuration
- Site URL:
http://localhost:3000 - Redirect URLs:
http://localhost:3000/auth/callback
- Site URL:
See CLAUDE.md for migration rules.
- Create an AI Gateway key in the Vercel dashboard
- Set
AI_GATEWAY_API_KEY - Optional:
AI_MODEL_FAST,AI_MODEL_STRONG(provider/model)
- serper.dev →
SERPER_API_KEY - Optional: YouTube Data API v3 →
YOUTUBE_API_KEY
pnpm devOpen http://localhost:3000.
pnpm test
pnpm typecheck
pnpm build- Sign in → start AI Engineering pack or a custom topic
- Intake + placement quiz → path outline (stages)
- Open a stage → modules · open a module → lesson + quiz + resources
- Progress, notes, module tutor · regenerate only on explicit user action
AI Engineering pack = defaults + fixed diagnostic bank. Course body is generated at runtime.
| Doc | Path |
|---|---|
| Domain glossary | CONTEXT.md |
| Architecture | docs/ARCHITECTURE.md |
| Plan | docs/PLAN.md |
| ADRs | docs/adr/ |
| Env template | .env.example |
| Schema | src/db/schema.ts |
See .env.example:
NEXT_PUBLIC_SUPABASE_URL/NEXT_PUBLIC_SUPABASE_ANON_KEYSUPABASE_SERVICE_ROLE_KEY(optional, server scripts)DATABASE_URL/DIRECT_URLAI_GATEWAY_API_KEY·AI_MODEL_FAST·AI_MODEL_STRONGSERPER_API_KEY·YOUTUBE_API_KEY(optional)NEXT_PUBLIC_SITE_URLGENERATION_DAILY_BUDGET(default 40 successful gens/user/day)
Private / portfolio project unless otherwise noted.