EdTech platforms face a unique engineering challenge: the load profile is extremely spiky (everyone is online during class time, offline otherwise), the content type is video-heavy (expensive to serve at scale), and learner engagement directly correlates with UX quality (a buffering video means a dropped course). This guide covers the full stack implementation approach Zyllo Tech uses for EdTech platforms serving 10,000 to 500,000 learners.
Phase 1 — How do you keep LMS video costs under control?
Video is 80%+ of the bandwidth cost and the primary driver of learner satisfaction. Getting this wrong means exponential hosting costs and poor completion rates.
- Video processing pipeline: upload → transcode → HLS adaptive streaming → CDN distribution. Use AWS Elemental MediaConvert or Mux for transcoding to multiple quality levels (360p, 540p, 720p, 1080p).
- HLS (HTTP Live Streaming) for adaptive bitrate — automatically downgrades quality on poor connections without buffering.
- CDN selection: Cloudflare Stream or AWS CloudFront with S3 origin. Edge caching is essential — never serve video from origin for active learners.
- Signed URLs with 24-hour expiry for content protection — prevent public URL sharing.
- Offline download for mobile apps using HLS download (iOS AVFoundation, Android ExoPlayer) with device-level DRM.
- Video analytics: play rate, average watch time, skip patterns — correlated with assessment performance to identify difficult concepts.
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360,CODECS="avc1.4d401e,mp4a.40.2"
360p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1400000,RESOLUTION=960x540,CODECS="avc1.4d401f,mp4a.40.2"
540p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2"
720p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5000000,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2"
1080p/index.m3u8
# Two things worth getting right here:
# - Keep a genuinely low bottom rung. 360p at 800 kbps is what keeps a
# learner on a weak mobile connection watching instead of abandoning
# the course, and completion rate is the metric that pays for all of this.
# - BANDWIDTH must be the PEAK segment bitrate, not the average.
# Understating it makes players over-select a rung and rebuffer —
# exactly the failure the ladder exists to prevent.- The upload lands in object storage and is never served from there. Keep the original: it is the master you re-encode from the next time the ladder changes.
- Transcoding fans out into the rungs in parallel. Cost scales with output minutes, so encode once per rung and keep the result forever — transcoding per request is the mistake that makes video bills unbounded.
- Packaging produces the HLS segments and the master manifest, and is where DRM or AES keys are applied.
- Segments go to the CDN. Learners must always hit the edge: five thousand people starting the same lesson at 9am is a thundering herd no origin absorbs gracefully.
- Playback authorises per viewer — a short-lived signed URL or DRM licence tied to the enrolment — so a shared link expires instead of quietly becoming free distribution.
Phase 2 — How should you structure courses and content?
- Course hierarchy: Programme → Course → Module → Lesson → Asset (video, quiz, reading, assignment).
- Content versioning: publish v2 of a lesson without affecting learners mid-way through v1.
- Prerequisites and learning paths: directed acyclic graph (DAG) to model prerequisite relationships.
- SCORM/xAPI support for enterprise B2B clients who need to report completion data to their own LRS.
- Content CDN: all static assets (PDFs, slides, images) served from CDN, never from application servers.
Phase 3 — How does adaptive assessment work?
- Question bank with tagging by concept, difficulty, and bloom's taxonomy level — enables adaptive test generation.
- Item Response Theory (IRT) scoring for adaptive assessments — next question difficulty adjusts based on current performance.
- Randomised question pools and answer order shuffling to prevent answer sharing.
- Plagiarism detection for written assignments using MOSS (Measure of Software Similarity) or Turnitin API.
- Instant feedback for objective questions with explanation — not just correct/incorrect.
- Proctoring integration (HonorLock, ProctorU) for high-stakes exams via WebRTC screen recording.
Phase 4 — What infrastructure does a live virtual classroom need?
Live classes require real-time infrastructure that is fundamentally different from on-demand video. The key engineering choices:
- WebRTC SFU (Selective Forwarding Unit) for classes up to 100 participants — LiveKit or Daily.co are production-ready managed options.
- RTMP ingest to HLS for large webinars (500+ attendees) where each viewer doesn't need a dedicated stream.
- Interactive features via WebSocket: live polls, Q&A queue, hand-raise, reactions — decoupled from video infrastructure.
- Class recording with automatic chapter detection and searchable transcript (Whisper API).
- Breakout rooms using separate WebRTC rooms with a coordinator service that manages room assignment and timer.
Phase 5 — How do you measure learner engagement?
- xAPI event stream for every learner interaction — video play, pause, quiz attempt, forum post, assignment submission.
- Learning Record Store (LRS) — Watershed or a custom PostgreSQL + Redshift pipeline for analytics.
- Engagement alerts: learners who haven't logged in for 7 days get an automated personalised nudge (email + push).
- Progress dashboards for learners, instructors, and enterprise admins — each with different metrics.
- Cohort analysis: completion rates, average time-to-complete, assessment pass rates by module — used to improve content.
Mobile App Architecture
- React Native for iOS and Android from a single codebase — reduces maintenance overhead by 40%.
- Offline-first architecture: downloaded courses available without connectivity, progress synced on reconnect.
- Background video download using native APIs (iOS Background App Refresh, Android WorkManager).
- Push notifications for assignment deadlines, live class reminders, and grade releases via Firebase Cloud Messaging.
- Course Completion Rate: +35%
- Video Buffer Rate: < 0.5%
- Live Class Uptime: 99.9%
- Mobile DAU Growth: +60%
