Most LMS platforms work fine until the day a partner runs a free workshop and 80,000 people show up. Then suddenly nothing works.
Video is its own problem
Hosting video on the same infrastructure as your application is the most common mistake. Separate the planes: video lives on a dedicated streaming provider with global edges, the application stays on your stack.
The "next" button is your hot path
Every learner advancing a lesson hits your API at the same density as a payment processor on a holiday. Cache aggressively, batch progress writes every 30 seconds, and never block the UI on a write.
Postgres can do more than you think
- Read replicas for catalog and progress queries.
- Partitioned tables for activity logs by month.
- Materialized views for dashboards, refreshed off the write path.
- Connection pooling via PgBouncer — required, not optional, above ~5k concurrent.
A scaling rule
Buy what scales linearly, build what differentiates you, delete what doesn't move a metric.
From IT Artificer
Learning Management System (LMS)
Courses, live classes, quizzes and certificates for schools, academies and companies.
Read more from IT on the IT Artificer blog — covering engineering, growth and the craft of building enterprise software.




