Examity Video Recording Service (VRS)
An event-driven proctoring infrastructure handling exam session recording at scale, with bandwidth pre-checks, privacy-preserving screen blur, and automated video composition.
The Problem
Remote proctoring at scale requires reliable session recording, monitoring, and recovery under heavy concurrency. Legacy workflows forced teams to manually track recording states and intervene frequently during exam windows. Reliability issues directly impacted student experience and support load.
The failure mode is expensive and unforgiving. A recording that fails partway through can invalidate an exam, forcing a retake and a support escalation. During peak periods like finals week, thousands of sessions run concurrently on home internet connections of wildly varying quality—so reliability has to be engineered in rather than monitored for.
What We Built
We built an event-driven video recording service that coordinates session lifecycle, observability, and operational controls. The system abstracts provider complexity behind stable workflows and exposes clear monitoring signals for operations teams. It supports high-volume exam windows with better fault handling and visibility.
Alongside the backend service, we built a client SDK that handles the hard parts of the browser side—pre-flight network testing, media region selection, and privacy processing—so integrating teams get reliability behavior by default instead of rebuilding it against a raw video API. Session state changes publish as events, which decouples real-time proctor dashboards from the recording pipeline itself.
Pre-flight bandwidth testing
Before an exam starts, the SDK measures real upload capacity and selects the optimal media region, catching connection problems in the setup window rather than mid-exam.
Privacy-preserving screen blur
WebAssembly-powered body segmentation blurs the candidate background in real time at high frame rates, protecting home environments while keeping the candidate clearly visible for integrity review.
Event-driven session monitoring
Every room event—participant joined, track added, recording started—publishes to a streaming layer, letting proctor dashboards observe thousands of live sessions without polling the recording service.
Automated video composition
Camera, screen share, and proctor tracks merge automatically into a single reviewable recording with durable storage and metadata, replacing manual post-exam editing.
How It Works in Practice
A university running final exams for thousands of students across a five-day window, where every session must be reliably recorded and privacy must hold up.
- 1
Pre-check before the exam
When the student starts, the SDK runs a short network test to confirm sufficient upload bandwidth and picks the nearest media region—surfacing connection issues before the exam clock begins.
- 2
Create the session
The backend provisions the recording room in the selected region, records its state, and publishes a session-created event that proctor dashboards pick up immediately.
- 3
Record with privacy applied
Screen blur runs client-side throughout, keeping the candidate in frame while obscuring the surrounding room. Recording state is tracked continuously rather than relying on a proctor to watch it.
- 4
Compose and store
When the exam ends, the tracks merge automatically into a single composed recording with metadata attached, available for academic integrity review without manual editing.
Engineering Approach
Reliability pushed into the SDK
Bandwidth testing, region selection, and privacy processing ship as client-side defaults rather than integration guidance, so every consumer inherits the same reliability behavior instead of reimplementing it.
Events over polling
Session lifecycle changes publish to a streaming layer that dashboards subscribe to, letting monitoring scale to thousands of concurrent sessions without hammering the recording service with status checks.
Idempotent webhook handling
Provider callbacks are signature-validated and safe to receive more than once, so duplicate or retried delivery cannot corrupt session state during the high-volume windows when it matters most.
Have a similar problem?
Tell us what you're working on and we'll tell you honestly whether we can help.