DEV Community

Vibecoder
Vibecoder

Posted on

Airwave — self-hosted shared radio

# 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
Enter fullscreen mode Exit fullscreen mode

Open http://localhost:8000, paste a link, and share the URL.

How it works

yt-dlp → ffmpeg → one shared stream → all listeners
Enter fullscreen mode Exit fullscreen mode

No per-user playback. No sync issues.

Highlights

  • Single /stream/live.mp3 for 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.

https://github.com/76696265636f646572/Airwave

Top comments (0)