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

PythonDjangoDjango REST FrameworkDjango ChannelsWebSocketsRedis

01/PROBLEM → SOLUTION

02/SYSTEM ARCHITECTURE

How the system fits together

  1. Mobile Client
  2. REST API
  3. Room Controller
  4. Redis
  5. WebSocket Gateway
  6. Connected Clients
DRAG / SWIPE TO PAN DIAGRAM
Mobile ClientREST APIDJANGO DRF / HTTPWebSocket GatewayDJANGO CHANNELSRoom ControllerSTATE MUTATIONPostgreSQLPERSISTENT DATARedisEVENT TRIGGERConnected ClientsLIVE SYNC

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.