As a team we often listen to music together. We noticed that although we listen to some of the same music, the playlists that we streamed from as a group were often too tailored towards one individual's musical preferences. We wanted an easy way to make a playlist of all the songs we have in common without manual looking through our hundreds of songs.
What it does
It creates a single, accessible Spotify playlist that is customized to fit the needs of many people at once.
Here's how it works. Each group member logs into Spotify through the Wayvepool portal. The app scans each user's playlists and compares track data between users. The app finds what songs people have in common and organizes them into one master playlist that everyone will enjoy.
How we built it
We used an Apache Tomcat Java server for the back-end code. This was interfaced with a MongoDB database through a Java-Mongo library. For design we used Sketch 3 to develop logos and images.
Challenges we ran into
The biggest challenge was working with the Spotify API. It was easy to create most of the functionality, but get user permission was our first big challenge. Then once we collected the correct data from Spotify it was an issue to send it back correctly to our application. At one point the application functioned properly and developed some good custom playlists, but at some point it stopped sending song IDs in the correct format. This was an issue that we attempted to fix up until deadline but eventually fixed.
Accomplishments that we're proud of
We're proud of successfully utilizing the Spotify API, despite its lack of clear documentation. We took time to develop a clean interface as well. In the end it feels good to have a new playlist in our libraries that is actually useful and a result of what we built. We also are proud of the simplicity of the application - its not a fully functioning product, rather a simple tool that does its job. We came into Hack@Brown with intentions to learn, and luckily ended up creating an application that we would want to use in real life.
What we learned
We learned how to divide work well, a task that was an issue at the start of the project. We also learned that proper planning let us start developing really quick off the start. Finally, we learned that small issues in portions of code could cause huge problems down the line - we ran into an issue where our code stopped correctly accessing the Spotify API.
What's next for Wayvepool
There is a lot for potential for customized group music listening. Though there are certainly collaborative playlists out there, this is a simple tool that can quickly make one for any group. We may add additional features where the application can identify shared music tastes and then include songs that are predicted to be enjoyed everyone in the group.