Design Spotify
MediumSystem design · Media Streaming
Design Spotify. Users search a licensed catalogue, play tracks with fast startup, build playlists and a library, download for offline listening, and get recommendations. Rights holders are paid per qualifying play, and track availability varies by country. Focus on audio delivery, rights enforcement, playlists/library, and play counting for royalties. Out of scope: podcast hosting, social features, and the recommendation model internals.
Requirements
- Start playback in under 200ms with gapless transitions and quick skips
- Enforce territory rights on every play and handle tracks that lapse out of the catalogue
- Count qualifying plays accurately and deduplicate retries and offline backlogs, since they drive royalty payments
- Support encrypted, subscription-bound offline downloads, playlists with concurrent edits, and search