# Airwave — self-hosted shared radio
Most “listen together” features aren’t actually synced. Everyone plays their own stream, which leads to drift, platform lock-in, or awkward coordination.
Airwave solves this by flipping the model.
Paste a YouTube, SoundCloud, Mixcloud, or Spotify playlist link and it generates a single live MP3 stream that everyone listens to in sync.
Quick start
docker run -d -p 8000:8000 ghcr.io/76696265636f646572/airwave
Open http://localhost:8000, paste a link, and share the URL.
How it works
yt-dlp → ffmpeg → one shared stream → all listeners
No per-user playback. No sync issues.
Highlights
- Single
/stream/live.mp3for all listeners - Collaborative queue with real-time updates
- Multi-source playback (YouTube, SoundCloud, Mixcloud)
- Spotify playlist import with automatic matching
- Sonos support on local network
Stack
FastAPI, Vue 3, yt-dlp, ffmpeg, SQLite
Why
Because shared music should be synced, simple, and not tied to a single platform.
Airwave is a shared radio for the internet.
Top comments (0)