An E-Learning Layer for Live Events
Verified video progress, quizzes, and certificates at 1000+ users
The problem
Events needed to double as accredited courses. A viewer's progress through each session had to be tracked against a real completion bar, they had to pass a quiz, and only then earn a certificate that could be verified later. Admins then needed reports across thousands of users, and the naive version of that — fetch everything, format in memory — times out well before a thousand rows.
Options on the table
Architecture at a glance
The decision
A serverless e-learning API, split into viewer and admin services, that tracks real watch progress against a completion threshold, scores quizzes server-side, issues PDF and PNG certificates with unique validation IDs, and generates bulk admin reports built to handle over a thousand users at a time.
How it works
- 1The viewer API records watch progress per session and instance (watch time, furthest play position, completion percentage) and marks a course complete only at the threshold — measured against real playback, not a button click.
- 2Quizzes are submitted and scored on the backend; attempts, best score and pass/fail are tracked, and multiple-choice questions are auto-graded.
- 3On completion plus a passing score, a certificate is issued as PDF and PNG with a unique validation ID so it can be checked later, and an email notification goes out.
- 4The admin API generates course-progression, certificate and quiz reports across every user, fetching in parallel and formatting to Excel and CSV.
- 5Reports are stored in S3 and distributed through CloudFront; parallel fetches and tight DynamoDB queries keep a 1000+ user report inside the Lambda budget.