Introducing Jukebox. Finally, a playlist everyone wants to dance to.

The problem

It's happened to all of us: you're hanging out with friends at a BBQ, or on a roadtrip across the country, and Max insists on playing exclusively Animal Collective. Oh no, how many miles left to San Francisco? But now there's an easy solution: With Jukebox, everyone can add songs and upvote their favorites, allowing you to share control of the music – and maybe learn that you actually enjoy experimental electronica, in moderation.

The team

This was a fun side project built predominately over the course of a long weekend with my good friend Ryan Allen, a software developer at APT. I largely handled UX and front-end development, he largely handled the backend services and data architecture. We shared responsibility for selecting music, natch.

The tools

Jukebox is built on Meteor, an open-source, full-stack Javascript framework utilizing Node.js, MongoDB, and Angular. We picked Meteor because it makes synchronization of data states across clients effortless, which was critical for us to enable users to all see what songs are playing next in real time.

Additionally, we built a native iOS version of the app using the Spotify SDK to enable real-time music playback. We took a bifurcated web/iOS approach to offer the best of both worlds: only the host has to download the iOS app (in order to enabled playback via Spotify's SDK), reducing the friction for most users, who simply have to go to PlayJuke.com to join the party.

You should, too: Try it at PlayJuke.com

An iPhone showing the Jukebox app.