Collaborative Music Queue
Project Overview
Built for groups sharing a physical or virtual listening space — LAN party attendees, office coworkers, and remote listeners — who wanted a democratic say in what plays rather than deferring to a single person's playlist or a generic streaming algorithm.
A browser-based collaborative music queue where any authenticated user can search a 31,000-song library, request tracks, rate songs with 1–5 stars, and vote to skip songs they dislike. The queue updates in real time for all connected users, and an Auto-DJ mode uses audio similarity to keep playback going whenever the queue runs dry.
Additional features include song upload and metadata editing, a public analytics dashboard with play history and leaderboards, ReplayGain volume normalization, and Microsoft OAuth for single sign-on with domain-restricted access.
Originally built to support recurring LAN events and grew substantially over multiple development cycles. Major additions — audio analysis and similarity matching, a reporting dashboard, ReplayGain normalization, and OAuth integration — were layered in over time as the user base and library expanded.
Self-hosted on an Ubuntu server with the music library mounted from a NAS. Accessible on the local network and, via a Cloudflare Tunnel, from anywhere on the internet — no open ports required on the home network. A mirrored test environment runs in parallel on the same host for safe pre-deployment validation.
Shared music in group settings is notoriously contentious. The previous approach — one person controlling a playlist — caused friction and left most of the library undiscovered. This system gives everyone a voice, surfaces songs people didn't know were available, and keeps playback continuous and reliable without anyone actively managing it.
It also became a vehicle for applied learning: audio signal processing, vector similarity search, server-side streaming, OAuth flows, and running parallel environments with a structured test-to-production promotion path.