
TherLMS
A white-label LMS platform ready for sale under any brand. Complete system for selling and managing online courses with a unique macOS-style dock navigation.
Key results
- 112 API endpoints, full role architecture (admin/trainer/student)
- 5 languages i18n (PL/EN/DE/ES/PT) via next-intl
- Stripe + PayU, subscriptions, bundles, upsells
- SCORM 1.2 — the only Polish white-label LMS with SCORM
- Landing Page Builder (6 templates, 16 sections)
- 2FA/TOTP, anti-sharing, rate limiting
- AppDock navigation system — overlay instead of classic subpages
The story — 15 years leading to one product
This project didn’t start with market analysis. It started with a crash.
Nearly 15 years ago, my life turned upside down. I lost everything — family, possessions — and became homeless overnight. During that time, trying to piece my life back together, I looked for a platform to create online courses. I searched for a long time. And found nothing that satisfied me.
WordPress plugins were clunky, heavy, and slow. The admin panel was a labyrinth. Security was full of holes. Plugins conflicted with each other, and technical support was illusory.
Back then, with nothing but determination, an idea was born: as soon as I recovered enough to create again — I would build my own course platform. Modern, lightweight, secure.
Nearly 15 years passed. That platform exists — it’s TherLMS.
Context / Problem
Companies and individual trainers wanting to sell online courses face a choice: expensive SaaS platforms with imposed design and limits (Kajabi, Teachable), or months of building a custom system from scratch. A third option was needed — a ready, fully functional LMS that can be quickly rebranded for any client, without a monthly fee that grows with the number of students.
This is a technical demo, not a client deployment. The case study below shows the full scope of the platform’s capabilities — from architecture to security hardening.
Solution
TherLMS is a complete white-label platform on PHP + Next.js + MySQL stack, with architecture allowing rapid deployment under a new brand without touching the system core. Instead of a ready-made SaaS LMS with a monthly subscription (Kajabi, Teachable) — a platform the client owns outright, with no monthly fee that grows with the number of students.
Key architectural decisions:
- 112 API endpoints covering the full course lifecycle
- AppDock navigation system — fullscreen overlay instead of classic subpages
- Role-based access — separate views for admin, trainer, and student
- Payments — PayU (PL market) and Stripe (international)
- SCORM — e-learning content standard support
- Gamification — progress and motivation system built into the core
- i18n — 5 languages via next-intl with full translation structure
Security:
- HttpOnly cookies instead of localStorage
- CSP and HSTS headers
- Rate limiting on sensitive endpoints
- N+1 query elimination
Technical challenges
The biggest challenge was breaking up the old architecture (separate lesson pages) into the AppDock overlay system without losing navigation state or accessibility. The second was maintaining database schema compatibility between development and production environments during deployments.
Results
Platform version 6.31.9 — 112/112 API endpoints, all pages completed, deployed to production. Multiple iterations of security hardening (HttpOnly cookies instead of localStorage, CSP + HSTS, rate limiting on sensitive endpoints, Stripe webhook signature verification). Being prepared for the first commercial white-label deployment.

