Listen Together

How Listen Together works

The whole product is one idea: a room where several people share a single music player. This page explains what that means in practice — how the timing holds, who is allowed to do what, and what happens to a room when everybody leaves.

Rooms and codes

A room is created with a random six-character code, and the code is the only thing needed to reach it. That makes sharing trivial and also means a room is semi-private rather than secret: anyone holding the code can walk in. If that matters for what you are doing, set a room password when you create it.

How playback stays in sync

Each person's browser runs its own player — the video or audio streams to them directly, exactly as it normally would. What the room shares is not the audio but the timing: which track, whether it is playing, and what position it started from.

One participant's player acts as the reference clock and broadcasts its position every few seconds. Everyone else re-anchors to it. This is why a stutter on a bad connection is temporary: your player falls behind, the next correction arrives, and you snap back to where the room is. Without that correction, a single buffering pause would leave you permanently out of step.

Who can control the room

Whoever creates the room is the host. The host controls playback and the queue, and can hand control to specific other people — useful when you want a shared queue instead of one person picking everything. Everyone else can still watch, chat and react. The server checks permissions on every action rather than trusting the browser, so a guest cannot skip a track by editing anything on their side.

What you can play

YouTube links and searches, including whole playlists imported into the queue. Search runs against YouTube from the server, so there is no API key to configure and no quota to run out of. Videos play in YouTube's own embedded player — nothing is downloaded, re-hosted or re-streamed.

How long a room lasts

A room lives as long as it is being used. Once it has been idle for seven days it deletes itself, along with its queue and chat history. Chat is also capped at the most recent few hundred messages. Rooms being disposable is the design, not a restriction — you make one for an evening and never think about it again.

Accounts and data

There are no accounts. You pick a display name when you join, and your browser holds a local identifier so you can rejoin the same room as the same person. There is no email, no password, and no profile to delete later. When the room expires, what was in it goes with it.

What it runs on

Each room is a small isolated server object at the network edge, holding that room's state and keeping a websocket open to everyone in it. In practice that means a room lives close to the people using it and the latency stays low, which is the part that makes shared playback feel immediate rather than approximate.

Create a room →