Zoneout: Shared Rooms for Real-Time Listening by Toby GoddenZoneout: Shared Rooms for Real-Time Listening by Toby Godden

Zoneout: Shared Rooms for Real-Time Listening

Toby Godden

Toby Godden

Zoneout.net is a shared room for real-time listening. Choose tracks from the SoundCloud library, chat, and ponder the WebGL orb in a room with others. Built for musicians and listeners who want to share the experience of hearing something at the same time.

Why This Exists

Sending someone a music link is a weak way to share music. Half the time it disappears into a tab, or gets saved for later and never heard. Being in a room with someone while a track actually plays is different: you feel the reaction as it happens, even if nobody says much.
Listening to music together online usually means someone screen-shares a Spotify window or pastes links in a chat. I wanted a dedicated space where a group of people are genuinely synchronised on the same track, at the same moment, with a shared visual atmosphere. Something collective rather than privately fed through headphones.

The Build

I began in the usual modern way, with a heavier stack in mind: Next, Prisma, all the expected machinery. It quickly became obvious that was the wrong direction for where I wanted this to live. It never properly ran in a way worth keeping.
The real build was the lean version: Express, static pages, polling, signed cookies, one server file, no unnecessary weight. That part was satisfying because everything had to justify itself. Rooms first, then queue logic, then all the little social questions hidden inside queue logic: whose track, whose right to remove it, what happens when nobody adds anything when the current one ends.

Ghost Tracks

That last question was the one I liked solving most. For the Procrastinatrix room, I didn't want anyone arriving into silence, so it now quietly pulls from my own Headphone Candy playlist and drops in ghost tracks when the queue is empty. They arrive without an owner attached and anyone can skip them instantly. It means the room is already doing something before anyone decides what comes next.

Authoritative Server-Side Sync

The Node.js/Express server maintains the authoritative room state: current track, queue, play/pause state and start timestamp. Every browser seeks to the correct playback point on connect and stays synchronised throughout the session. The SoundCloud Widget API handles actual audio playback.

Real-Time Everything

Socket.IO carries chat, presence, reactions, queue changes and skip votes over the same live connection. The room feels immediate because everything is.

Queue and Voting

Anyone in the room can queue tracks from SoundCloud. Skip votes let the room collectively move on from a track without giving any single person veto power.

The Visualiser Rabbit Hole

Then I got dragged sideways into the visualiser and lost hours there. A blob first, then a torus knot, then flame, then another version because the flame looked wrong, then a separate shader page because once you start editing fragment code directly it becomes dangerous to do it inside the live room. Bass, mids, highs, hue, fullscreen, mouse tilt, chat over the top. A WebGL2 orb that became the shared visual atmosphere: the thing you stare at while you listen, a campfire for the room.

Everything Underneath

Scheduled events, admin controls, presence snapshots, skip votes, creator permissions, visitor graphs: all the practical parts that make a room behave properly once people are inside it. Cursor and Claude Code helped with velocity, but only under strict supervision: prompting, rejecting, steering, checking what they wrote, making them strip things back when they got bloated or made bad assumptions. It still feels less like pressing a button and more like conducting a very fast, slightly unruly assistant.

Who It's For

Musicians who want to play their SoundCloud tracks to an audience without the awkwardness of just throwing links around. People who want to hang out remotely and chat while playing bangers. And for the orb ponderers, there are visuals.
After six tracks you unlock creator status, which means you can make your own room, schedule events, and start shaping the place yourself. The whole point is that it grows by being used.
Visit at zoneout.net
Like this project

Posted Jul 24, 2026

A shared room for real-time synchronised listening with SoundCloud integration, live chat, skip voting, and a WebGL2 visual atmosphere. Built for musicians and listeners.