Originally published on mahdimolavi.ir .
"How much of this video did the student actually watch?" sounds like a question with a one-line answer. The player knows where the playhead is, so add up the seconds. Then you open the raw events and the one-liner falls apart: pauses that were never logged, tabs closed in the middle of a lesson, phones whose clocks are minutes off, people watching at 2x, people dragging the slider back to see a proof for the third time.
For a large Persian-language online learning platform, I rebuilt the pipeline that turns that telemetry into facts people can rely on. For every student and every video it answers: how many distinct seconds were watched, which parts were re-watched or skipped, whether the video was really finished, and how the watching was spread across days. The work started from a 2024 prototype written by two other developers; in 2026 I reworked the ingest service, the analysis engine, the storage model and the tests.…