Infra
Next.js and NestJS on a VPS managed with aaPanel, the backend in Docker, and Cloudflare in front.

Streaming · Education · 2026
A premium class platform, from the first code to the last frame.
Great teachers shouldn’t stay locked in a studio. Viewers should pay once, sign in in seconds, and just press play.
Next.js and NestJS on a VPS managed with aaPanel, the backend in Docker, and Cloudflare in front.
Docker on the VPS and Docker Compose locally, with tests running against a separate database and Redis on its own index.
NestJS and TypeORM, a uniform response envelope, and passwordless sign-in.
The course catalog, checkout, and an admin to curate instructors and courses.
HLS streaming through Mux, with DRM live for Widevine, FairPlay, and PlayReady.
Midtrans Snap: GoPay, QRIS, cards, and virtual accounts.
Browsers don’t agree on how to protect video. Chrome and Android speak Widevine, Safari and iPhone speak FairPlay, Edge speaks PlayReady. Each lesson is encrypted once, and every device asks for the license it understands.
Each lesson plays only through a license that the DRM server hands out, and only to a signed-in viewer who owns the course. Copying the address, sharing it, or recording the screen gets you a black frame.
A simulation with example attempts, not real playback or real tokens. Pick a way to take the video and see what happens.
Your attempt

