PRODUCT ENGINEERING
Music Room
Music Room is a collaborative music platform that enables users to create shared listening rooms where multiple participants can interact with playlists in real time.
YEAR
2026
ROLE
Designed • Developed • Shipped
STACK
01/PROBLEM → SOLUTION
PROBLEM
Every participant must observe the same room state while users join, leave, and act concurrently; request-response alone cannot push updates.
SOLUTION
REST handles user-initiated CRUD; Django Channels WebSockets push live events; Redis is the channel layer distributing room events to consumers.
02/SYSTEM ARCHITECTURE
How the system fits together
- Mobile Client
- →REST API
- →Room Controller
- →Redis
- →WebSocket Gateway
- →Connected Clients
Drag to pan or Hover to trace or Click to inspect
03/KEY ENGINEERING DECISIONS
REST + WebSockets
Synchronous create/update/delete stays on REST; live sync moves to WebSockets, each doing what it does best.
Redis Channel Layer
Redis fans room events out to WebSocket consumers, keeping multiple backend processes synchronized.
Channel Isolation
Room-scoped channels ensure only members receive that room’s updates, preserving correctness and scale.
04/IMPACT & TAKEAWAYS
Real-Time Sync. Playlist and room state stay consistent across concurrent participants.
Lifecycle Handled. Connections, disconnects, reconnects, and auth are managed so stale users don’t linger in rooms.
Broadcast Correctness. Events fan out only to room members through isolated channels.