We are all passionate about music and interested in exploring the deeper connection between emotion and music preferences. Although not perfect, we wanted to create an app that could pave the way for further advances in this promising field.
What it does
Jive uses the Google Cloud Vision API to identify the emotions of people in a user-provided photo, which are then passed through an algorithm to determine the genres and target metrics (like danceability, beats per minute and acousticness) to be used as seeds for the creation of a custom Spotify playlist through the Spotify API.
Jive also uses the Fold Applink API to retrieve various car data (like speed, temperature and gps location), which are also then passed through an algorithm to determine the target values of various metrics to be used as seeds for custom Spotify playlist generation.
Challenges we ran into
None of us had any experience with the API's that we used to make Jive, so we faced a learning curve when trying to figure out how to communicate with the various API's to acquire the data that we needed. The Spotify API was especially tricky, and we didn't have as many resources to use as reference, so figuring out how to use it ended up taking up a big chunk of our time.
When making the car app, the Android emulator that was used to communicate with the Ford Applink API took up a lot of RAM and kept crashing, so we had to allocate a lot of time towards debugging it.
Accomplishments that we're proud of
We are proud of the fact that we were able to come up with a novel idea that none of us had seen on the market before, and actually get a working model up and running.
What we learned
We learned about how to interact with various API's and how to process requests that conform to the REST architectural style. We also learned how to extend our web app so that it could be used in different environments, such as in a car, and access new markets.
What's next for Jive
We really want to incorporate live video processing into Jive, so that Jive can simply observe your emotion instead of having to ask for a photo. This would also allow Jive to make real-time changes to the playlist depending on how your mood changes.
We would also like to integrate Jive onto more platforms, such as on iOS devices and different car models. We would also like it to be compatible with multiple audio streaming services, such as Apple Music, Pandora, iHeartRadio and Google Play Music.