CourseFlow
A full Udemy-style learning platform — catalog, curriculum builder, exams and certificates — shipped solo in seven months.
CourseFlow is a complete LMS. Students browse the catalog, enrol in courses, work through chapter-by-chapter lessons, sit exams and download certificates. Instructors build courses through a drag-and-drop curriculum editor and a TipTap rich-text lesson surface. Admins manage roles, categories and content.
Built solo on Next.js 15 (App Router, Turbopack) over Supabase. The data model is the proof point — relational RBAC across student / teacher / admin, courses → chapters → lessons, enrolment-and-progress, exams, certificates — all under one schema, with migrations tracked in the repo.
What it does
5 signals
- 01 · CatalogCourse catalog and learner experience
Categories, course cards, course-detail pages, chapter-by-chapter lessons with progress tracking, enrolment flow. App-router with locale-aware routes from the start — next-intl drives i18n end-to-end.
- 02 · BuilderDrag-and-drop curriculum editor
Instructors structure chapters and lessons with dnd-kit; lesson bodies are authored in a TipTap surface with images, links and rich-text. The teacher dashboard and admin editor share the same primitive.
- 03 · RBACThree-tier roles with route-level enforcement
Student, teacher and admin roles enforced at Next middleware + Supabase RLS. The instructor onboarding flow ('become-instructor') and admin promotion are first-class. A small script keeps admin-role assignment auditable.
- 04 · ExamsExams, questions and signed certificates
API routes for exams, questions, attempts and certificates. After completion the platform issues a certificate tied to the enrolment record — closing the loop from catalog browsing through finished course.
- 05 · AI-nativeSchema-aware AI in the build loop
Supabase MCP gives the AI assistant direct read access to the live schema — Claude and Cursor see the same tables as the running app. Kombai handles AI-assisted UI generation. A modern solo development loop.
Stack
A repo opening is queued behind a secrets-hygiene pass — keys committed during the build need rotating and scrubbing before the source goes public. Happy to walk through the architecture in the meantime.
Open to Senior / Staff engineering roles and selective freelance — production AI, platform, and full-stack work.
Get in touch