Noah was excited to bring his car up to college this semester, and even thought he might drive for Uber to make some extra money. He had another idea: he could offer his passengers a unique experience by letting them control his music stream. After Noah realized that the Spotify app didn't have this functionality built in, he told the rest of the team, and they decided it would be a useful service to implement. Unfortunately, Noah is too young to drive for Uber, but we made the service nonetheless, and discovered some other use cases along the way.
What it does
Groupify allows Spotify users to become digital jukeboxes, which other users can control using an intuitive texting interface. When Groupify is enabled, other users can add their favorite songs to the playback queue, which will play automatically. When there isn't a song in the queue, a playlist specified by the host will play instead.
How we built it
Challenges we ran into
This project was incredibly challenging to complete in the time allotted due to many unforeseen issues. Originally, the service was going to be web-based, and use the Spotify Web API to control playback. Unfortunately, we couldn't add songs to the Spotify mobile queue, and other issues we ran into rendered this approach impossible. We pivoted to an iOS app, but this introduced a new host of challenges, the biggest of which was pushing data from the server to the app whenever a song is added to the queue. We learned about Apple's Push Notification Service and struggled through certificate generation and deployment to arrive at the best possible solution: queue updates happen silently in the background, whether the app is active or not, and a queue command is never missed.
Accomplishments that we're proud of
We are proud that our service works exactly as we envisioned it, including some features that we weren't sure if we could implement. We are also very proud that our code is well written. If we had rewritten this with as much time as we needed to do it properly, it would be very similar to what we made in this very short time period. Finally, we are proud that we were able to work as a team and delegate well.
What we learned
We learned that it is very challenging to accomplish all that we would like to in such a small time span. We also learned that things rarely go as planned, and that it is necessary to adapt and roll with the punches.
What's next for Groupify
In the future, we hope to improve our iOS application, as well as create an Android app as well. We also would like to add integration for Telegram and Facebook Messenger to allow for even more interactivity.