DR JANISZEWSKI
Dr Janiszewski LMS: A Course Platform of His Own
The challenge
A medical trainer wanted to sell his procedure course online without giving a course marketplace its cut or wrestling a heavyweight LMS plugin. The content is sensitive and paid, so video had to be token-protected, checkout self-serve, and certificates automatic. All of it in Polish, all of it his own platform. He also needed to see exactly who bought, who finished and who stalled.
The build
I 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 mixing video, slides and quizzes with attempt scoring
- Progress tracking with resume position and a last-seen heartbeat
- Per-module and final PDF certificates generated on completion
- Admin panel with enrollments, progress views and user impersonation
The results
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.

DR JANISZEWSKI