Listen together, in sync.

One phone hosts a jam and plays music from its own files. Everyone on the same Wi-Fi or hotspot hears the same song at the same moment, on their own device.

  • No internet
  • No accounts
  • Free and open source
The shared queue in a jam, showing who added each song.
LocalJam's now playing screen in a jam: the song, who added it, and the people listening.
The browser listener page playing the same jam, without the app.

How it works

Nothing to sign up for and nothing to set up. Just a shared network.

  1. Host a jam

    Name it, add songs from your phone and press start. Your phone runs the jam; nothing else is needed.

  2. Friends join

    From Nearby, a QR code or a link. A friend without the app scans the code and listens in the browser.

  3. Everyone hears it together

    Guests fetch each song ahead of time, and every device starts it at the same instant. Small drift is corrected with inaudible speed changes, not jumps.

Everyone needs to be on the same Wi-Fi, or on the host’s hotspot. Some guest and office networks keep devices apart; here’s what to try.

Everything a jam needs

  • A shared queue

    Add songs from the file picker, the phone’s music library on Android, or the host’s own library. Reorder and skip. Every song shows who added it.

  • Join from a browser

    Friends without the app scan the QR code and listen in sync in their browser, from a page the host’s phone serves. Browser guests listen; they can’t add songs or host.

  • You choose who runs the music

    Three presets for a jam: Open, Jam and Listen-only. Make someone a co-host, adjust one person, or remove someone.

  • Keeps playing in your pocket

    Background playback with lock-screen and notification controls, gated by the same permissions.

  • A sync nudge

    A manual control for the latency your device doesn’t report, such as some Bluetooth headphones.

  • Every jam, remembered

    Jam history stays on your device: what played, who added it, who was there. Host it again in one tap.

Nothing leaves the room.

LocalJam collects no data and has no server. Your music goes only to the phones in your jam, over your local network.

Read the privacy policy

  • No accounts. Every device gets a friendly random name you can change.
  • No analytics, no ads. No tracking SDKs, no crash reporting.
  • No internet. The host’s phone serves the songs and the timing directly.
  • Use networks you trust. Traffic on the local network isn’t encrypted. Turn Nearby off to admit people only by QR code or link.

Android first, and honest about the rest

Version 1.0.0 targets Android. Sync has been measured on simulators, emulators and a Mac, not yet across a set of physical phones.

  • Android Main release The 1.0.0 target. Verified on an emulator, host and guest; testing on physical phones is in progress.
  • Any browser Guest only Scan the host’s QR code and listen, with nothing to install. Safari can’t play Ogg Vorbis or Opus.
  • macOS Preview Runs, and has joined a live jam. Not notarized yet.
  • iOS From source Verified on simulators. Not on the App Store yet.
  • Linux Experimental Builds. Audio not yet tried on real hardware.
  • Windows Experimental Built by the release workflow. Nobody has run it yet.

Downloads and install notes

Free and open source

LocalJam is MIT-licensed. Read the code, the wire protocol and the design docs, report issues, or send a patch. Test reports from real devices, especially physical phones, Windows and Linux, are the most useful contribution right now.

Start a jam.

Get the Android app from GitHub Releases. Google Play is coming soon.