EdTech Learning Platform with LMS & Video Streaming
How we built a full-stack EdTech platform with course management, progress tracking, HLS video delivery, and subscription payments — serving 12K+ enrollments across 500+ courses.
EdTech LMS · HLS Video Pipeline
| Client | A growing EdTech company |
|---|---|
| Industry | Education / EdTech |
| Stack | Next.js, Node.js, PostgreSQL, Redis, AWS MediaConvert, Stripe, AWS, CloudFront |
| Project duration | 9 Months |
| Headline results |
|
The Client's Vision
A growing EdTech company had built a successful content library across multiple niche verticals — from professional certifications to creative skills — but their platform was held together by legacy tools and manual workflows. Course content lived in disparate systems: some in WordPress, some in Google Drive, and progress was tracked in spreadsheets. Learners had no unified experience, and instructors had no way to see engagement or completion rates across their courses.
They needed a modern learning management system with a single learner app, an admin CMS for course creators, video streaming that could scale to thousands of concurrent viewers, and a subscription engine that handled one-time purchases, monthly plans, and enterprise licenses. The goal was to consolidate everything into one platform that could grow from hundreds to tens of thousands of learners without hitting scaling walls.
What Was Breaking
Fragmented Content
Course videos, PDFs, and quizzes lived across multiple storage systems. There was no single source of truth — instructors spent hours manually uploading content to different buckets, and learners often hit broken links or outdated materials.
No Progress Tracking
There was no way to know if a learner had completed a module, paused mid-video, or dropped off. Certificates were issued manually after instructors checked spreadsheets. Analytics were nonexistent.
Scaling Video Delivery
Raw MP4 uploads to S3 caused buffering during peak hours. There was no adaptive bitrate — mobile users on slow connections couldn't watch smoothly. CDN configuration was minimal.
Payment & Subscription Chaos
Some courses used Stripe, others used PayPal. Subscriptions were tracked in a custom database that didn't sync with payment webhooks. Renewals failed silently, and refunds required manual database edits.
The Architecture We Built
We designed a layered architecture with the learner app and admin CMS as separate frontends sharing a common API. Video content flows through an AWS MediaConvert pipeline that transcodes uploads to HLS, enabling adaptive bitrate streaming. Redis caches enrollment state and progress, and PostgreSQL holds the canonical data. Stripe powers all payments with a single webhook handler that updates subscriptions, access, and invoices.
System Architecture
The video pipeline was the most complex piece. We built an event-driven flow: uploads go to S3, trigger Lambda to start MediaConvert jobs, and on completion we write HLS manifest URLs to PostgreSQL. The learner app requests signed CloudFront URLs at playback time, so we never expose raw S3 paths. Adaptive bitrate means learners on mobile get lower quality segments automatically, eliminating buffering complaints.
Tech Stack
How We Delivered It
Audited all existing content sources and instructor workflows. Mapped course structure to a normalized schema. Designed the HLS transcoding pipeline and CDN strategy. Migrated 200+ courses from legacy systems.
Built the Next.js learner portal with course catalog, enrollment flow, and video player (HLS.js). Built the admin CMS for course creation, module ordering, and content upload. Implemented progress tracking and certificate generation.
Integrated AWS MediaConvert and CloudFront. Built Stripe subscription and one-time purchase flows. Implemented webhook handlers for payment events, access grants, and refunds. Added Redis caching for enrollment state.
Built instructor dashboards for completion rates and engagement. Load-tested video delivery with 2K concurrent streams. Phased rollout — beta with 500 learners, then full launch to 12K+ enrollments.
The Impact
What Made This Work
EdTech platforms look simple on the surface — courses, videos, progress bars — but the complexity comes from content lifecycle (upload, transcode, distribute), payment orchestration (subscriptions, upgrades, enterprise billing), and progress tracking at scale. Treating the video pipeline as a first-class service with event-driven transcoding meant we could add new formats (e.g., 4K) without rewriting the learner app.
Stripe webhooks were critical. We handle subscription created, updated, canceled, and payment failed events in a single idempotent handler. That ensures access grants and revocations stay in sync with billing, and failed payments trigger retries before learners lose access.
Progress tracking drove the biggest product improvement. By storing granular checkpoints — which videos were watched, how far, and quiz scores — we gave instructors actionable analytics. They could see drop-off points, identify struggling modules, and iterate on content. The client reported a 40% increase in certificate completions after launch.
Written by Mukesh Swami, Founder & CEO
Building an EdTech or Learning Platform?
We help education companies build production-grade LMS, video streaming, and payment systems. Let's talk about your architecture.
- A 30-minute technical discovery call with an engineer, not a salesperson.
- We reply within 1 business day.
- Related service: Cloud & DevOps
