WrzDJ Bridge is a software tool designed to connect DJ equipment with the WrzDJ song request system, enabling seamless integration between guest requests and live performance. It supports popular DJ controllers like Denon StageLinQ, Pioneer PRO DJ LINK, Serato DJ, and Traktor Broadcast.
Key Features:
Plugin architecture for compatibility with major DJ hardware
Automatic track detection via fuzzy search and Spotify enrichment
Circuit breaker with reconnection logic and track buffer replay
Installable via winget on Windows
Ideal for DJs using compatible equipment to enhance their live performances with real-time request management.
README
WrzDJ
A real-time song request system for DJs. Guests scan a QR code to submit requests. DJs manage everything from a live dashboard with automatic track detection from their equipment via plugins for Denon, Pioneer, Serato, and Traktor.
DJ dashboard: manage requests, QR code for guests, live Now Playing detection, kiosk controls
Guest join page: scan a QR code, browse the queue, request a song
Features
Guest experience
QR code join, no app install or login required
Search songs via Spotify, submit requests with notes, upvote others
Live request queue and kiosk display showing what's playing now
DJ dashboard
Accept, reject, and manage requests in real-time (SSE push updates)
Tabbed event detail with Song Management and Event Management views
Search Spotify, Beatport, and Tidal directly from the dashboard
Inline audio previews for Spotify and Tidal tracks
Color-coded Camelot key badges and BPM proximity indicators for harmonic mixing
Single-active playing constraint (marking a new track auto-transitions the previous one)
Multi-service playlist sync to Tidal and Beatport with version-aware matching
Manual track linking when auto-match fails
Event banners, play history with source badges, CSV export
Bridge connection status, activity log, contextual help system
Cloud provider OAuth (Tidal, Beatport) with per-event playlist sync toggles
Song recommendations
Three modes: From Requests (musical profile), From Playlist (template), AI Assist (natural language via Claude)
Scored on BPM compatibility, harmonic key, genre similarity, and artist diversity
Half-time BPM matching, junk filtering, MusicBrainz artist verification badges
Background metadata enrichment via ISRC matching, Beatport, Tidal, MusicBrainz, Soundcharts
The bridge connects to DJ equipment and reports "Now Playing" data to the server. It requires a running WrzDJ server (steps 1-6 above).
Desktop app (recommended): Download from Releases (Windows .exe, macOS .dmg, Linux .AppImage). Also available via winget install WrzDJ.WrzDJ-Bridge on Windows.
CLI bridge:
cd bridge
npm install
cp .env.example .env
# Edit .env with your API URL, bridge API key, event code, and protocol
npm start
Deployment
Production uses a subdomain model: app.your-domain.example (frontend) and api.your-domain.example (backend).
Docker Compose (Local Full Stack)
docker compose up --build
PaaS (Render / Railway)
Render auto-detects render.yaml. Push to GitHub, connect to Render, set credentials in the Environment tab.
Railway: Create project on Railway, add PostgreSQL, deploy server/ and dashboard/ as separate services.
VPS (Docker + nginx)
cd /opt && git clone https://github.com/thewrz/WrzDJ.git && cd WrzDJ
cp deploy/.env.example deploy/.env # Fill in secure values
docker compose -f deploy/docker-compose.yml up -d --build
Interactive API docs are available at /docs when the backend is running.
Project Structure
WrzDJ/
server/ # FastAPI backend
dashboard/ # Next.js frontend
bridge/ # DJ equipment bridge (Node.js)
bridge-app/ # Electron desktop app for the bridge
kiosk/ # Raspberry Pi kiosk deployment
deploy/ # Production deployment configs
scripts/ # Git hooks and dev tooling
.github/workflows # CI, release, and dependency health pipelines