Self-hosted · no accounts · guests install nothing

The room
picks the music.

Put a phone next to the speaker and a QR code on the fridge. Everyone searches, adds and votes from their own phone, and the queue reorders itself around what the room actually wants.

Hosting needs the Android app. A browser is refused playback for most commercial music, so the player runs on an Android device by the speaker.

Open this on the Android device

Scan it with the phone or tablet that will sit by the speaker. That device runs the player and the host controls; this one cannot.


How a night runs

  1. 01Install the app on the device wired to the speaker and name the party in it.
  2. 02Tap Start the music once. It keeps going on its own from there — through tracks, adverts and stalls.
  3. 03Guests scan the code on the app's Guests tab, pick a name, and search. Adding costs nothing; voting is what moves a track up.
  4. 04Tracks gain a little weight every minute they wait, so nothing sits at the top all night and quiet additions still get played.
  5. 05The room can vote a track out. You can always skip, remove or pause from the app.

What you need

An Android device by the speaker
A phone or tablet, plugged in and connected to the speaker. It runs the player for the whole night and keeps its screen on. Guests need nothing but a browser.
A YouTube Data API key
The key stays on your server and never reaches a phone. The free quota covers roughly a hundred new tracks a day; every track resolved is cached forever, so a second party costs nothing for anything already played.
Somewhere to run it
One container and one SQLite file. Nothing is downloaded, nothing is stored but metadata.