--- id: TASK-3 title: Add live viewer counter to stream page status: Done assignee: [] created_date: '2026-02-22 00:28' labels: [] dependencies: [] priority: medium --- ## Description Heartbeat-based viewer tracking via archive-worker Flask endpoints. Page sends POST /api/viewers/heartbeat every 5s, displays count with pulsing red dot. Nginx proxies /api/ to archive-worker.