SYSTEMS DESIGN CASE STUDY
Distributed Media Conversion Platform
Designing a reliable, asynchronous media processing system under real-world constraints, focused on scalability, UX, and operational sanity.
The Problem
Users needed a fast, dependable way to convert and compress media files directly in the browser—without installing software and while meeting strict platform limits like upload size caps.
Constraints
- • Must work on low-end devices
- • Large, unpredictable uploads
- • Long-running jobs without HTTP timeouts
- • Secure, disposable file handling
- • Low baseline infrastructure cost
Key Decisions
Server-side processing over browser WASM
Ensures consistent performance across devices and avoids CPU-heavy browser workloads.
Asynchronous jobs over blocking requests
Prevents timeouts and enables progress tracking and retries.
Upload-first UX
Reduces friction by deferring format decisions until after upload.
Modular worker design
Enables expansion without rewriting core orchestration logic.
Tradeoffs Considered
| Option | Outcome |
|---|---|
| Client-side FFmpeg | Rejected (CPU-heavy, unreliable) |
| Monolithic processor | Rejected (scaling & fault isolation) |
| Third-party APIs | Rejected (cost, control) |
Outcome
- • Predictable, reliable processing
- • Clean separation of concerns
- • Low operating cost at small scale
- • Clear scaling path