📦 Code: github.com/USER/video-qoe-starter — replace before publishing. TL;DR We'll instrument an HLS.js player to emit the three QoE metrics that actually correlate with viewer abandonment — startup time, rebuffering ratio, and playback failure rate — ship them to a tiny Fastify endpoint, store them in SQLite, and render a dashboard. End to end in one file each: a React component, a Node endpoint, and a SQL view. What we're building A minimum-viable telemetry rig that answers the three questions every video team gets asked the day after launch: How long is it taking for a video to start playing? How often is the player stalling mid-playback? How often is playback failing outright? We'll use HLS.js 1.6.x (the current stable line, with LL-HLS support), a Node 22 + Fastify backend, and SQLite for storage. No queue, no warehouse, no Grafana. The point is to ship a working baseline; you can swap parts later. 1.…