We all have a strong passion for music and sharing our music tastes with friends. Spotify has made it super easy to create public and collaborative playlists so that members can quickly hear what their friends are listening to and find new music. Big stores like Starbucks usually play from a Spotify playlist, but it is just background music, and the store's customers are often ambivalent towards it. Some stores have added a feature where customers can suggest a song, but there is no service that caters a playlist to the aggregate preferences of Spotify members in close proximity. We created jukebox to provide businesses an easy and unexpected way to improve their customers' experience and turn music from a passive into an active experience in stores. We also want jukebox to be a service that friend groups can use to quickly generate playlists that everyone will enjoy and that can be catered to specific events.

What it does

Jukebox is a social music app that doesn't require its users to be social. When you walk into your favorite coffee shop, jukebox can automatically cast a vote for all your favorite types of music. Businesses will use jukebox to create playlists incorporating the tastes of their customers by providing a common access link to authorize access to their Spotify libraries. Jukebox can be trusted to run the music to leave the group satisfied at parties, on road trips, or at any other jam sessions.

Jukebox is a collaborative music app that generates playlists based off the favorite songs and preferences of Spotify users. Users are invited with a link and log in with their Spotify account. The user can choose to connect either their music library or their public playlists, depending on which songs they would like to hear from jukebox.

Juicebox has the potential to provide many playlist and playback features to fit any and every occasion. Filtering libraries by genres, allowing users to select specific songs or personal playlists, and even filtering music by Spotify's analytics as such as "dancability". The most basic settings are to shuffle songs out of the large pool or take turns from each user's libraries.

How we built it

We used HTML, CSS, JavaScript, and Spotify's Web API to build the website. Two CS majors and two mechanical engineers.

Challenges we ran into

Our front end development team had zero experience building websites with HTML, CSS, and JavaScript. It was a challenge for us to get through the learning curve while trying to build a functional app. At the same time, none of us had ever handled back end for a project of this scale or handled the Spotify API, so we faced learning curves on all sides.

Accomplishments that we're proud of

Interfacing with the Spotify API. Building a presentable website with zero front end development experience and developing a scalable backend.

What we learned

Two members of our team, Logan and Alex, had zero experience with front end development. After attending the intro to front end development workshop at Vandyhacks, we had enough of a primer to dive into creating the jukebox website. It was a tough learning curve initially, especially coding with JavaScript, but by the end of the hackathon, we were able to make a functional and presentable website.

Our back end development team learned how to interface with the Spotify API and pull favorite songs and metrics from user's preferences. Designing an Entity-Relationship model to support our database and fully implementing it through MySQL.

What's next for jukebox

Not just playing users' music, but picking recommendations for them. Suggestion and exclusion features for user profiles User groups to quickly compile playlists for friends and families. We would like to add functionality for the host to select genre, energy, and characteristic tags that they would like to hear so that jukebox will only select songs from users' libraries that fit these tags. This will allow the app to be used for specific occasions, such as parties, ambient music, and more.

Share this project: