A single-user Mandarin Chinese learning app: AI journal feedback, graded story reader, spaced-repetition flashcards, streaming AI chat with Harry Potter personas, and an AI-assessed HSK progress dashboard.
- Frontend: React 18 + Vite + Tailwind (PWA) → Vercel
- Backend: Node 24 + Express + WebSocket (
ws) → Railway - Database/Auth: Supabase (Postgres + Auth)
- Cache: Upstash Redis (REST)
- AI: Anthropic Claude (Sonnet 4.6 + Haiku 4.5)
npm install
cd client && npm install && cd ..
cd server && npm install && cd ..
# copy and fill in env files
cp server/.env.example server/.env
cp client/.env.example client/.env
npm run dev # client on :5173, server on :3001docs/PRD.md— product specdocs/SETUP.md— full environment + deployment guidedocs/SCHEMA.md— database schema (seesupabase/migrations/)docs/PROMPTS.md— all Claude prompt templatesdocs/DESIGN.md— UI/UX specCLAUDE.md— engineering rules for this codebase