Go Home
Sway
A real-time song request platform that lets crowds shape the music while DJs stay focused and in control.
Summary
Sway is a song request management platform that bridges the gap between crowds and performers by centralizing song requests and live upvoting into a seamless, real-time experience. Guests get to request songs and help shape the vibe, while DJs stay in complete control.
Problem
Before becoming an engineer, I was a professional DJ, which gave me the experience to know just how much of a headache managing song requests is. You could be playing Free Your Mind which is 128 BPM, and the mother of the bride asks you to play Get Ur Freak On which clocks in at a whopping 71 BPM. Now your focus is broken, you may have to scratch what you originally had coming up next, and you have to quickly figure out how you're going to make the transition work and keep people on the dance floor. Rinse and repeat for the other 20 people putting in their requests too.
My personal breaking point came while DJing a packed Saturday bar night. A wonderful gentleman who was having the time of his life, just couldn't resist hearing his song, and attempted to stumble his way into the booth to put in his request. Before I could even see it coming, the cocktails he was double fisting were being spilled all over my equipment. I had enough and began creating Sway the very next day.
Version 1 was simple: I'd create a QR code that people could scan with their phone, and it would redirect them to a simple webpage with a form to make their requests. They'd enter their song request, optionally their name, and send it off. I'd get an email push notification for every new request received. It was great, but I needed more.
Solution
Today, Sway is in version 2, and stands alone as the single most impactful piece of software a DJ can use alongside Serato or Rekordbox. DJs create rooms that attendees join by scanning a custom QR or entering a room code on sway.onl/join. After joining, users can upvote other requests they really want to hear or search for and request their favorite songs with the help of the Spotify API. DJs receive centralized, real-time alerts without broken concentration or physical interruptions.
Features
- QR & Link Join: Guests join in on the fun instantly via QR code scanning or entering a room code on sway.onl/join.
- Spotify Integration: Search directly through Spotify's catalog with a familiar music discovery experience, artist and album art information, and full track metadata.
- Crowd Voting System: Guests can upvote requests, helping DJs quickly identify what the crowd wants to hear next.
- Centralized Dashboard: Instant notifications and organized request queues. Control incoming requests by marking tracks as playing, played, or remove them from the queue entirely.
- Event History & Insights: Review trends of past events; most played tracks, most requested tracks, export full tracklists and more.
Architecture
- Frontend: React, Tailwind CSS, shadcn/ui, React Router, Tanstack Query, Zustand, TypeScript
- Backend: Express + Node.js, Socket.io, Mongoose + MongoDB, Axios, TypeScript
- Third Party: Spotify Web API
Results
Evolved from a simple email notification app, into a standalone, essential software layer that runs seamlessly alongside industry-standard DJ software like Serato and Rekordbox.
The event-driven WebSocket architecture achieves low-latency synchronization across 100% of connected clients, keeping votes, queues, and room state consistent during live events.
Spotify API integration has reduced mismatched requests and has cut manual track lookup time, creating a far superior user experience.