Dr Janiszewski LMS
A medical trainer selling his procedure course online, on a platform of his own: token-protected video, quizzes, automatic certificates and self-serve checkout, all in Polish.
The alternatives were a course marketplace taking its cut or a heavyweight LMS plugin to wrestle. The content is sensitive and paid, so video had to be token-protected, checkout self-serve and certificates automatic.
He also needed to see exactly who bought, who finished and who stalled, without asking anyone for a report.
We built the LMS on Next.js 16 with PostgreSQL and Drizzle ORM. Stripe checkout unlocks enrollment on webhook, Bunny Stream serves token-signed video so links cannot be shared, and a slide player with synced audio covers the lecture modules. Five course modules mix video, slides and quizzes with attempt scoring, progress tracking keeps a resume position and a last-seen heartbeat, per-module and final PDF certificates are generated on completion, and the admin panel covers enrollments, progress views and user impersonation.
The course sells at 1,490 zl through self-serve checkout with no marketplace fees. The platform is covered by 31 unit tests, protected by Turnstile and rate limiting, monitored with Sentry, and shares its domain with the marketing site through a Cloudflare Worker router. The doctor owns the whole funnel.
- Product design & platform build
- Token-signed video delivery on Bunny Stream
- Quizzes, progress tracking & PDF certificates
- Stripe self-serve checkout & enrollment
- Admin panel, Turnstile protection & Sentry monitoring
- Live at kurs.drjaniszewski.com ↗
His course. His platform. No marketplace cut.