Inspiration
Inspiration from this came just before the hackaton, We were talking about how we could never pick a good song to go with our instagram story posts, so we wanted to make a web app that would pick a song based on the pictures vibe
What it does
PocketDJ will take an image from the user (file upload or camera input) and will use machine learning to identify the mood of the photo. Then will query spotify from a preselected group of artists or artists added by the user to match certain emotions to find a song to go with the picture
How we built it
We built this app using python, streamlit (a declartive web framework for python), a huggingface mood finding algorithm, and the spotify api, going step by step adding functionality as it went, we started with just a file upload and then finished with the user artist input for extra functionality
Challenges we ran into
We ran into a few challenges, the first was getting the files formatted correctly to use the mood finding algorithm, next was implementing css into the streamlit design (harder than it needs to be), then near the end, Spotify integration with adobe was quite the challenge, and lastly correctly grabbing the top match of the algorithm
Accomplishments that we're proud of
We are very proud that we were able to get the app functional within the timeline, and the spotify sdk implementation was a big highlight of the project so that it not only recommends a song but the user can listen to it right there to decide if it is the one. We are also proud that we were able to implement camera functionality so it is not just file upload. Lastly we were excited to be able to have an adobe plugin so we can have a much larger user base and a new use case for our idea
What we learned
We learned immensely throughout this project, a big one was using github collaboratively, and making sure that we pulled eachothers merges in order to stay in sync while working on the project. We also both got experience using streamlit to build a functional web app, and lastly we were able to use many API's to accomplish our task (huggingface and spotify)
What's next for PocketDJ
Adding functionality for iphone image upload (works fine with android) with heic image conversion to allow iphone users to upload images, and even possibly instagram integration in the future as a filter. And maybe a mobile app at some point, who knows.
Note When Using
Please note that the Camera feature is not compatible with iPhones due to the image file type, also keep in mind that streamlit community deployment (the try it out link) does not allow for custom styling so that is the plain version of the app
Log in or sign up for Devpost to join the conversation.