
- Role
- Fullstack Developer
- Period
- 2024 - 2025
Under NDA. The numbers are real, and I'm happy to walk through the product on a call.
A multi-sided SaaS where course creators launch schools, upload video lessons and sell through a marketplace, while students buy access and learn. Payments, subscriptions and automatic paid-content access included.
Products in one platform
A creator admin, a student app and a public marketplace: three products, one codebase.
User roles, one system
Creators, school owners, students and admins, each with its own area and permissions.
Pay once, access unlocks itself
Checkout and recurring subscriptions drive entitlement: on a confirmed payment, the right course or plan activates automatically, gated server-side.
What I built
Fullstack across a multi-sided SaaS: the creator admin and onboarding, the student app, the marketplace, and the payment-to-access backend behind it.
What it had to handle
- Users
- Four roles: creators, school owners, students, admins. One product, separate areas and permissions.
- Content
- Multi-gigabyte video lessons that can't run through the app server.
- Money
- Checkout, recurring subscriptions and automatic paid access.
- Creators could launch a school and start selling without manual setup.
- A purchase unlocked the right content automatically, no support ticket.
What I chose (and what I didn't)
- Direct-to-storage
- Video uploads go straight to object storage instead of through the API, presigned and validated.
- Server-gated access
- Backend guards decide entitlement, never the client; content is checked before it's served.
- Webhook-driven activation
- Access activates from confirmed payment status instead of a manual grant: purchase, subscription or renewal.
- State per surface
- MobX state separated per role so the three products never bleed into each other.
Tech stack