It seemed to us that at least half of the people at any given party were 'unimpressed' by the song choice. This app aims to make party DJ-ing as fair and fun as possible by letting everyone have a say and rewarding those whose song choice jelled with the rest of the partygoers.
What it does
A single 'owner' creates a party using the app. The app then connects to their Spotify account and the user is allowed to select a default playlist (just in case no one turns up to the party...)
The app then retrieves the required information from the Spotify Web API and uses the iOS SDK to play songs.
A partygoer can then 'join' the party using the Party ID. By default they are only allowed to see the song currently playing. An algorithm is then used to select a member to choose the next song.
Other partygoers can then like or dislike the song while its playing and this polling data is fed into a Bayesian inference algorithm to adjust the probabilities of each user being picked to choose a song in the future.
How I built it
This app is only for iOS and was built using Swift and Apple's UIKit framework. The Spotify integration was achieved using the Spotify Web API and the Spotify iOS SDK. The backend was built using Firebase/Firestore.
Challenges I ran into
The main challenge we faced was just finishing everything in 24 hours... In fact, although we did finish writing the Bayesian inference algorithm, we are yet to incorporate the 'choose a song' feature into the app.
Accomplishments that I'm proud of
I'm proud that we could at least finish the UI and the API integrations. I'm very new to iOS development so this did prove to be a challenge.
What I learned
I learned that it's probably best to have some idea of a Minimum Viable Product. We may have bitten off more than we can chew for a 24 hour hackathon...
What's next for MyWay
Next we need to build out the 'pick a song' functionality.