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

Built With

Share this project:

Updates