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_ididentifies 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
| Source | Transferable pattern |
|---|---|
| SDI Vol. 1, Chat System | Persistent connections, per-channel ordering, offline catch-up. |
| SDI Vol. 1, Google Drive | Versioned sync, change notifications, conflict handling. |
| SDI Vol. 2, Gaming Leaderboard | Sorted-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
| Claim | Source | Used on |
|---|---|---|
| Create, view, update, reorder | Candidate report | Overview, Requirements |
| Ordered contents and drag-and-drop | Spotify | Overview, Requirements |
| Snapshots and concurrent changes | Spotify | Overview, Decisions |
| Stable occurrence targeting | Spotify local-file removal semantics | Overview, Decisions |
| Move-aware convergence | List CRDT paper | Collaboration, P2P option |
| Local replicas, offline writes, automatic merge | DDIA Chapter 6, Automerge | P2P option |
| WebRTC mesh and signaling limits | WebRTC, Yjs | P2P option |
| SQL shard, owner partition, transactional outbox, Kafka fanout, Redis projection | Engineering synthesis | Overview, Architecture, Decisions |
| Race table and optimistic reconciliation | Engineering synthesis | Collaboration |
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.