Design brief
Design video upload, preparation, and playback for 10,000 daily uploads averaging 500 MB and 100,000 concurrent viewers at 3 Mbps. That means roughly 5 TB of source data daily and 300 Gbps of playback traffic. Playback should start in seconds after preparation. Require each published version to contain every required validated rendition, while an earlier playable version remains available during reprocessing.
Draw and explain
Use Excalidraw to separate upload control, media transfer, encoding work, publication ownership, and delivery. Label source and rendition versions, job identities, attempt ownership, immutable bytes, manifest pointers, and entitlement boundaries. Trace one upload through preparation to first playback, then a later version's publication. Mark acknowledgements and estimate encoding backlog, retained storage, and origin traffic separately from viewer bandwidth.
Stress the design
A worker writes some output and crashes before acknowledging its job. A replacement completes, then the old worker returns late. Explain which output may be published and how unused objects are reclaimed. Next, fail a delivery region during a popular title's playback. Draw cache-miss pressure, authorization continuity, and expected viewer degradation.
Review your design
Compare complete-version publication with earlier partial availability. Explain rendition choices, queue isolation, retry cost, and prewarming tradeoffs. Check that private segments cannot bypass entitlement by copied URLs. Choose signals for job age, publication delay, startup time, rebuffering, and origin saturation.
Capture assumptions, sizing, and the tradeoffs behind your diagram.
Review is your own assessment of the design.