Collaborative Playlist · Provenance

Sources and Synthesis Boundary

The interview report defines the exercise. Spotify defines playlist operations and snapshot behavior. Collaboration and local-first references supply synchronization patterns. Architecture, race policies, and the requirement-driven P2P option are explicitly identified as engineering synthesis.

Direct Databricks report

Databricks Web Engineer system design onsite ↗

  • Published November 21, 2025 by a Senior+ candidate.
  • Prompt: design a Spotify-like music playlist.
  • Scope: view, create, update, and order list items.
  • The report supplies the prompt and carries no solution architecture.

Spotify playlist concepts

Spotify for Developers · Playlists ↗

  • Playlists are ordered containers for tracks and episodes.
  • Clients support manual drag-and-drop, sharing, and following.
  • Playlist items include who added them and when.
  • Playlist contents use pagination.
  • Add, remove, replace, and reorder operations create new snapshots.
  • snapshot_id identifies a version and supports concurrent changes.
  • Removing local-file occurrences uses index plus snapshot ID, showing the need to identify a specific occurrence.

List move research

Moving Elements in List CRDTs · Kleppmann et al. ↗

The paper formalizes move as a first-class operation and analyzes convergence when concurrent edits target ordered-list elements.

SDI analogues

SourceTransferable pattern
SDI Vol. 1, Chat SystemPersistent connections, per-channel ordering, offline catch-up.
SDI Vol. 1, Google DriveVersioned sync, change notifications, conflict handling.
SDI Vol. 2, Gaming LeaderboardSorted-set read model and rank updates for score-derived order.

The playlist exercise uses these as supporting analogues. User-directed list moves come from the Spotify and list-move sources.

Claim map

ClaimSourceUsed on
Create, view, update, reorderCandidate reportOverview, Requirements
Ordered contents and drag-and-dropSpotifyOverview, Requirements
Snapshots and concurrent changesSpotifyOverview, Decisions
Stable occurrence targetingSpotify local-file removal semanticsOverview, Decisions
Move-aware convergenceList CRDT paperCollaboration, P2P option
Local replicas, offline writes, automatic mergeDDIA Chapter 6, AutomergeP2P option
WebRTC mesh and signaling limitsWebRTC, YjsP2P option
SQL shard, owner partition, transactional outbox, Kafka fanout, Redis projectionEngineering synthesisOverview, Architecture, Decisions
Race table and optimistic reconciliationEngineering synthesisCollaboration

P2P and local-first references

  • DDIA, Chapter 6: sync engines, local-first software, multi-leader replication, version vectors, CRDT convergence, anti-entropy, and operation under long network delays.
  • Automerge · Welcome ↗ documents durable local replicas, offline changes, automatic merge, and network-agnostic synchronization.
  • Automerge · Networking ↗ documents repository network adapters and point-to-point synchronization.
  • Yjs · y-webrtc ↗ documents browser P2P document propagation, signaling, encryption over untrusted signaling, and full-mesh collaborator limits.
  • WebRTC · Peer connections ↗ documents signaling, ICE candidates, STUN, and TURN.
  • MDN · WebRTC data channels ↗ documents arbitrary data transport, DTLS encryption, buffering, and message-size considerations.

Open interview choices

  • Scale, latency target, playlist-size limit, and collaborator count.
  • Exact access-control roles.
  • Offline write support.
  • Server serialization, operational transformation, or CRDT protocol.
  • Position-key representation and rebalance threshold.
  • User-visible undo and history retention.