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.

Role: Full Stack / Systems Design
Focus: Architecture, Reliability, UX
Scope: Web platform, async processing

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