Inspiration
Finding new songs is exhausting. You'd have to go to your favorite music streaming service, experiment, and just hope you have great luck. No one really has a lot of time to do that, especially if you are a sad and tired college student (like us). Some days... you just want to put on a song and wish that it could perfectly capture your mood - that sweet moment where music and reality synchronize and harmonize surreally. That is our inspiration for "mello."
What it does
"mello." is a full-stack web application that can take a snapshot of your face, scan your expression, and recommends a song that fits it perfectly.
How we built it
Our frontend is built with React.js, and our backend is done with Python and Django. The frontend accesses the camera, captures a PNG image, and sends it to the Django backend server as a base64 string. The backend decrypts the base64 string, converts it back to an image that is compatible with OpenCV, and runs a Facial Recognition Model to understand you ;) Our model was pre-trained by Justin Shenk (https://github.com/justinshenk/fer). Thank you for your wonderful open-source contribution <3
Challenges we ran into
Apparently, the base64 in Python is really not user-friendly, so we have to convert it to an image that can be saved on localhost, and then load that image again in the code. Also, two of us didn't even know how to spell React before yesterday.
- "Shut up and please commit the backend code" -Jack and Kaleb
Accomplishments that we're proud of
We (definitely not just Jack) are very proud of our beautiful logo. We (definitely not just Jack) think that this is our greatest achievement. Just kidding, things like learning the webcam behavior, setting up a virtual environment, discrepancy dependencies, communicating between the front and back ends were solved in less than 5 hours.
What we learned
Our biggest lesson is always to commit and pull. Like Github is your girlfriend, treat with caution.
What's next for mello.
Perform more back-testing for better recommendations and prevent unpredictable behaviors. Publish this website online.
Log in or sign up for Devpost to join the conversation.