One day when two of our team members were going for a drive, they were having a great time listening to music. However the best moments were when a song came on that they both knew and that is when the idea for Spotify Together was born.
What it does
The purpose of this application is to take the songs from the playlists of two separate users and form a playlist of common songs out of it. This is done keeping multiple goals in mind (i.e. meeting someone and discussing favorite songs/bands, long car rides that allow both passenger and driver to enjoy the music, etc).
How we built it
For the frontend of Spotify together, we used HTML and CSS to create a professional looking web application UI that strongly resembled any official Spotify applications. For getting the user's data we used the OAuth2 authentication process to allow us the data we needed from user's accounts. With the data we gathered using JSON, we were able to write the Scala needed to add function to our Web Application. We used Scala to cross reference the 150 most recently saved songs of both users and output all the songs that they shared in common onto the user's screen.
Challenges we ran into
Our project had a few bumps in the road but we are proud that we were able to create a working prototype and proof of concept. The first bump we ran into was the fact that 2/3 of our teammates had never worked with Scala. Scala is a very powerful tool and our third teammate really pushed for us to use and we are glad they did. Although it was tricky at first, with the help of our Scala experienced teammate, we were all able to get the hang of Scala and use it to meaningfully contribute to the project. Another issue we had was that due to an emergency, our team was not able to begin our project until 12 hours into the hackathon. We were worried about only having 24 hours to create something that had not really been created before but thankfully due to our dedication to this project we were able to create a great hack. That however, meant we were forced to give up attending some of the hackathon activities we were hoping to go to. Although one of our teammates were able to attend the Catching a Criminal CTF competition and come in second all on their own!
Accomplishments that we are proud of
The fact that we were able to create a successful prototype using technology none of us had worked with before was something we were really proud of in itself. We were able to overcome some challenging obstacles and still get a few hours of sleep! We are also proud of the unique hack that we made and how we were able to turn an idea we had just a while ago until a hack that could really stand out at Hack Western 5. We are also proud of the fact that this product is something we can use in our daily lives and with a little bit more tweaking, can really up the social aspect of Spotify.
What we learned
The two main things we learned were how to use Scala with HTML and how to use the Spotify API. The Spotify API is a new technology but for hackers who love their music it is powerful and filled with opportunity. There is a lack of individually produced Spotify web applications in the program community and we hope that our efforts to learn about the developer tools will encourage other hackers to begin to come up with their own ideas on how to make listening to music more enjoyable.
What's next for Spotify Together
Spotify Together has been something our teammates have been wanting to make for a while now. We are thrilled that we were provided the resources we would need to make Spotify Together at Hack Western 5 and we are also excited that we get to share our unique idea with such a large audience. However the version of Spotify Together created at Hack Western is a very early version of what we hope Spotify Together can be. We want Spotify Together to be able to store data in a database so that the user does not have to be online for their pre-approved friends to make playlists of combined songs for both users. We also want Spotify Together to accessible by link, not just by running it on a computer. We also have discussed other features we could add that also increase the social experience that we find Spotify lacks. Further in the future we hope to add a room that users can listen to music in real time with their friends in. Perhaps that will be for another hack though!