Design a Podcast Platform
MediumSystem design · Media
Design a podcast hosting platform. Creators upload episodes and manage a show; the platform stores and encodes the audio, generates the RSS feed that listener apps poll, serves audio through a CDN, and reports download statistics to creators and advertisers. Focus on feed generation and caching, audio delivery, and accurate, bot-filtered, privacy-respecting download counting. Out of scope: the listener app, and crawling third-party feeds (a directory-only product).
Requirements
- Generate valid RSS per show as a cacheable static document that updates promptly on publish
- Accept large resumable uploads, encode audio, and serve it via CDN with range requests
- Count downloads from CDN logs with deduplication, bot filtering and range-request aggregation
- Respect privacy (IP handling) and expose per-episode analytics and search over the catalogue