Skip to content
PRSINDIA

Vidyapath Learning

Halving cost-per-learner on a live-cohort LMS at 4,300 concurrent

A live-cohort LMS rebuilt around the insight that a lecture is a broadcast, not a conference call — WebRTC for the stage, low-latency HLS for the hall, and proctoring that reviews only what it flags.

Client
Vidyapath Learning
Industry
Edtech
Location
Bengaluru, India
Duration
20 weeks

0% lower

Lower infrastructure cost per learner

0

Peak concurrent learners in a single live class, no incident

0% lower

Lower proctoring cost per exam, same integrity outcomes

0

Question-bank leaks across nine assessment cycles

01

The challenge

Vidyapath Learning runs live, cohort-based upskilling programmes — data engineering, product management, cloud — for working professionals. 40,000 learners on the roll, up to 1,200 concurrent in a single evening class, and a unit economics problem that was quietly getting worse every month.

They were paying interactive prices for a passive audience

Every live class ran on a general-purpose video conferencing product, with all 1,200 attendees joined as full participants. But in a lecture, twelve people speak and 1,188 watch. They were paying real-time, bidirectional WebRTC prices — the most expensive way to move video that exists — to deliver a broadcast. The per-learner infrastructure cost was rising faster than the price they could charge.

Everything downstream of the class was manual

  • Attendance was reconciled by hand from a meeting export, then keyed into a spreadsheet, then into the certification tracker. For a cohort model where attendance drives certification eligibility, this was both the most important data in the business and the least trustworthy.
  • The question bank had leaked. Their assessment tool served the full paper to the client on exam start. A learner with the browser devtools open could read every question — and the answers, in one memorable case — before answering the first one. Screenshots of the bank were circulating in cohort WhatsApp groups.
  • Proctoring cost more than it was worth. Their vendor recorded the full session and billed for human review of all of it. They were paying to have a person watch 40 minutes of video of somebody doing nothing suspicious, thousands of times a month.

And it all happened at once

Traffic is not diurnal — it is a spike. Working professionals attend class between 8pm and 10pm IST. The platform was idle for twenty hours a day and screaming for four, and it was provisioned for the screaming.

02

What we built

Split the room: WebRTC for the stage, HLS for the hall

The single change that reset the economics. Interactive seats — the instructor, TAs, and up to ~200 learners on the "stage" — run over managed WebRTC. Everybody else receives low-latency HLS, which is roughly an order of magnitude cheaper to fan out and is what they were actually consuming anyway. A learner who raises a hand is promoted from HLS to WebRTC in a couple of seconds and demoted when they are done.

We did not build our own SFU. Operating one is a business, not a feature, and the managed provider's edge footprint across India is not something we were going to reproduce for a client of this size. We spent the engineering budget on the promotion/demotion mechanic instead, because that is where the money was.

Attendance from heartbeats, not from clicks

"Joined" is not attendance — a learner who opens the tab and walks away is not attending. The player emits a heartbeat every 30 seconds, heartbeats go onto a queue, and a worker aggregates them into presence intervals. Certification eligibility reads the aggregate. Nobody keys anything into a spreadsheet, and the definition of attendance is now a line of code that can be argued about openly rather than a convention that lived in one operations manager's head.

Assessments: never send the paper

Items are served one at a time, selected at request time from a calibrated pool with per-item exposure caps so no single question burns out across a cohort. The client never holds an item it has not been asked. Timing is server-side, always — client clocks lie, and on an exam, some of them lie deliberately.

Proctoring: flag cheaply, review expensively

We inverted the vendor's cost model. The browser emits cheap integrity signals — visibility change, fullscreen exit, paste events, a second display appearing — and the webcam is sampled at one frame every 8 seconds, uploaded straight to object storage via a presigned PUT so the frames never transit the application servers. Human review is triggered only on flagged sessions.

Roughly 92% of sessions are never flagged, and paying a human to watch those was the entire cost problem. Recording everything and reviewing everything is the lazy design; recording cheaply and reviewing selectively is what the problem actually calls for.

Scale on queue depth, not CPU

The 8pm burst is I/O-bound — the CPU graph barely moves while the platform is drowning. Autoscaling on CPU meant the fleet scaled up after the class was already degraded. We scale on queue depth and connection count, which lead the problem instead of trailing it, and we pre-warm on the class schedule, because the class schedule is known in advance. Reporting runs against a read replica so a programme director pulling a cohort report cannot slow down a live lecture.

03

The outcome

Migrated cohort by cohort over a term, with the old and new class experiences running side by side for three weeks so learners could switch back if the new one was worse. After the second week, nobody switched back.

Results

  • Infrastructure cost per learner fell 58%. The overwhelming majority is the WebRTC-to-HLS split. This was not an optimisation; it was correcting a category error about what a lecture is.
  • Peak concurrency reached 4,300 without incident — more than triple the load that used to break them — during a free masterclass they ran precisely because they finally believed the platform could take it.
  • Proctoring cost per exam dropped 71%. Same integrity outcomes, a fraction of the human review hours, because the humans now only look where looking is warranted.
  • Zero question-bank leaks since launch, across nine assessment cycles. The bank cannot leak from a client that is never sent it.

What it did to the business

Attendance data went from a spreadsheet somebody maintained to a stream the product reads, and the certification pipeline stopped being a monthly manual exercise. More importantly, the unit economics inverted: adding learners to a cohort now costs them very little, so their marginal cohort is profitable in a way it flatly was not before.

They have since doubled cohort sizes on their two largest programmes without adding infrastructure spend, which is the outcome that turns an engineering project into a business one.

Under the hood

How it's built.

Technology

  • Laravel
  • React
  • TypeScript
  • PostgreSQL
  • Redis
  • Laravel Horizon
  • Managed WebRTC (SFU)
  • Low-Latency HLS
  • AWS S3 + CloudFront
  • Kubernetes
  • Terraform

Services used

  • Education Platform Development
  • Custom Software Development
  • Cloud & DevOps
  • Performance Engineering
  • UI/UX Design

They asked one question in the first workshop — how many of your 1,200 attendees ever unmute? The answer was twelve. That question ended up halving our cost per learner.

Nikhil Varma VP Engineering, Vidyapath Learning

Same problem?

Let's build something that ships.