Design Spotify (Music Streaming) - Frontend System Design Interview Guide

Hard

Design a production-ready music streaming platform like Spotify with playlists, search, recommendations, offline playback, and seamless cross-device synchronization.

Backend as Black Box: Assume you have APIs for music catalog, playback, playlists, and recommendations. Focus on the frontend architecture.

Key Challenges

  • Audio streaming with adaptive bitrate and buffering strategies
  • Playlist management with drag-and-drop reordering and collaborative playlists
  • Real-time playback sync across devices (phone, desktop, web player)
  • Offline mode with download queue, storage management, and DRM handling
  • Search with autocomplete, instant results, and voice search integration
  • Recommendation engine UI with personalized content and discovery features
  • Smooth transitions between tracks, playlists, and radio stations
  • Queue management with next-up preview and history tracking

Relationship to YouTube

This problem builds on concepts from YouTube:

  • Media streaming patterns → Audio streaming with adaptive bitrate (similar to video ABR)
  • Playback state management → Isolated playback session state separate from UI
  • Real-time engagement → Live playback sync and collaborative playlist updates
  • Offline capabilities → Download queue and storage management (similar to offline video)
  • Recommendation feeds → Personalized content discovery (similar to video recommendations)

Key Differences from YouTube:

  • Audio-first: No video rendering, but similar buffering and quality selection strategies
  • Playlist-centric: Heavy focus on playlist management, queue manipulation, and collaborative editing
  • Cross-device sync: More critical for music (users switch devices frequently during playback)
  • Offline-first: Music downloads are more common than video downloads, requiring better storage management
  • Continuous playback: Seamless transitions between tracks vs discrete video playback

Learning Transfer: YouTube's playback state isolation, adaptive streaming, and recommendation patterns directly apply. However, Spotify requires deeper focus on playlist state management, cross-device synchronization, and offline storage optimization.

Note on Problem Coverage: This solution focuses on Spotify's unique challenges: audio streaming, playlist management, cross-device sync, and offline playback. For general system design frameworks (RADIO), interview approaches, and comprehensive trade-off analysis, refer to other problems in this guide. Feel free to apply knowledge and patterns from related problems (like YouTube for media streaming, or other feed problems for recommendations) based on your specific use case.

Unlock with Pro

Full system design walkthrough

Get the complete interview-ready solution with requirements, architecture, data model, API contracts, tradeoffs, scaling notes, and evaluation signals.

Unlock with Pro