Project status
Last updated 2026-07-10 · 17/22 capabilities live on Web · 3 surfaces
AILearn is an API-first course marketplace: one shared backend serving a Next.js web app today and a Flutter mobile app later. The public catalog, search, free enrollment, the course player with progress tracking, certificates, profiles, and the full tutor panel (courses, curriculum, analytics, earnings, reviews) all run on the real database; the chess-coaching mini-app is fully live. The admin panel — site KPIs, member management (roles, tutoring, suspension), course moderation, categories, and enrollment oversight — now runs on the real database too, with an owner-vs-admin guard split; self-serve 'Become a tutor' is live. Video streaming is live too (Cloudflare Stream — tutors upload straight from the browser, a signed webhook confirms readiness, and enrolled students watch adaptive playback, verified end-to-end against a real Stream account). Every slice is verified by a one-command test pyramid (pnpm test:all — unit tests, data audits, and real-HTTP journeys on seeded fixtures). Next up (M6): paid checkout, then mobile and white-label branding.
— not applicable to that surface
| Capability | Backend Shared /api/v1 + Neon DB | Web Next.js · live | Mobile Flutter · planned |
|---|---|---|---|
Platform & accounts | |||
Sign-in & identity Clerk sign-in with just-in-time user provisioning on first request (M0). | Done | Done | Planned |
Profile & account settings Edit your global profile (name, avatar, bio, headline) and account settings (M3). | Done | Done | Planned |
Roles & membership Per-site student/admin/owner ladder plus the can-tutor capability, enforced by API guards (M0). | Done | Done | Planned |
Browse & discoverbrowse | |||
Course catalog & detail Browse published courses and open a course page by friendly URL or id (M1). | Done | Done | Planned |
Search, categories & filters Find courses by keyword, category, level, and price (M1). | Done | Done | Planned |
Enroll & payenroll → pay | |||
Free enrollment Enroll in a free course instantly and see it under My learning (M2). | Done | Done | Planned |
Paid checkout & payments Buy a paid course via hosted checkout; the payments ledger records the fee split (M6). | Planned | Planned | Planned |
Learn & progresslearn → certify | |||
Course player & progress Watch lessons, resume where you left off, and track per-lesson progress (M2). | Done | Done | Planned |
Video streaming Lesson videos transcoded and streamed adaptively via Cloudflare Stream; enrollment-gated iframe playback (M5). | Done | Done | Planned |
Completion & certificates Finish all lessons to complete a course and earn a certificate; PDF rendering comes later (M2, PDF in M7). | Done | In progress | Planned |
Reviews & ratings Rate and review a course after 30% completion; ratings roll up on the course page (M7). | Done | Done | Planned |
Quizzes Quiz lessons with questions, grading, and a pass threshold — placeholder today (M7). | Planned | Planned | Planned |
Chess coaching Standalone chess mini-app: play the engine, analyse positions, solve puzzles, ask the AI coach (shipped side feature). | Done | Done | — |
Teach & earnteach → earn | |||
Become a tutor Self-serve tutor opt-in (or owner-granted), gated per site by a feature flag (M4). | Done | Done | — |
Course authoring Create a course, build the curriculum (sections and lessons), set the price, and publish (M3). | Done | Done | — |
Video upload Tutors upload lesson videos straight to Cloudflare Stream from the browser; a signed webhook confirms readiness (M5). | Done | Done | — |
Students & analytics See who's enrolled per course, their progress, and completion analytics (M3). | Done | Done | — |
Earnings & payouts Per-course revenue, fee split, and payout history for tutors (M3, real money in M6). | Done | Done | — |
Operate | |||
Site administration Admin panel: manage members (roles, tutoring, suspension), moderate courses, categories, enrollment oversight, and site KPIs — owner-vs-admin guard split (M4). | Done | Done | — |
Branding & white-label Each buyer's site runs on its own domain with runtime, DB-backed branding (M9). | In progress | Planned | Planned |
Platform console Superadmin creates sites, assigns owners, and sets plans/limits across the platform (M9). | Planned | Planned | — |
Automated testing & verification One-command test pyramid (pnpm test:all): unit tests, invariant audits, domain checks, and real-HTTP user journeys on seeded fixture tenants (ongoing, spans all milestones). | Done | Done | — |
Try what's live
Jump from the "Done" claims above to the real thing.
Deferred (post-MVP)
Intentionally out of scope until the core loop is solid.