Have you ever tried to find the perfect image to use as a cover for your Spotify playlist? That matches the mood and content of your collections of songs? Well we wanted to see what would happen if we did that in reverse.
What it does
Pictobops generates a Spotify playlist based on a selected image. It uses AWS Rekognition to detect image content, the Datamuse API to link those words to related concepts and broaden the scope of the search, a python PIL-based library to get dominant image colors and correlate those to moods based on hue, saturation, and value. The Spotify Web API allows us to filter songs by features such as valence (musical positiveness), energy (intensity & activity), acousticness (production value).
How we built it
Pictobops runs on a serverless cloud framework, leveraging AWS Lambda (python), S3, and API Gateway. It runs on a react-redux frontend that uses the bootstrap framework for styling.
Challenges we ran into
Uploading images proved to be much more frustrating than we had anticipated, as well as running into API authentication issues.
Accomplishments that we're proud of
The project's scope was not to big, we were able to finish most of the features we were hoping to by the end of the hackathon. It runs relatively consistently, with few errors and interesting results. Most of all, we had a ton of fun building it!
What we learned
"I got a long overdue chance to brush up on my python skills, as well as learning more about serverless. I gained a lot of familiarity with some really interesting API's that I'd like to use again in the future" - Sara
"This project was an amazing opportunity to learn more about React development. I learned a lot about creating components and containers within the project, as well as setting up functions to interact with the Spotify and AWS Rekognition API data. This was definitely an amazing first hackathon experience, and I look forward to future opportunities to collaborate and create, as well as gain more experience with new languages and libraries." - Mikhael
"Having lived in an ERP hell world for most of the past year, this project has been a good opportunity to put to use some of the AWS and python skills i've gradually picked up over time" -Alice
What's next for PictoBops
We'd like to implement saving these custom playlists to your Spotify account (we got so close to finishing it)! The means by which we determine and judge a song mood could definitely use a little more love.