Inspiration

We all love discovering new music on Spotify, and we all love machine learning software. That's why we decided to build a fun new website that combined both of these along with a beautiful UI, inspired by TAMUhack colors.

What it does

Moodsic uses your webcam to capture a picture of you. We use facial recognition software to tag your face by its primary emotion (according to confidence percentage).We match your primary emotion to a playlist on Spotify and return your primary emotion, our confidence percentage, and your playlist in the browser.

How we built it

We used Microsoft Azure's facial recognition software to tag your face's emotions and confidence percentages and calculated the primary emotion using JavaScript. We used Python for our backend along with Spotify Web API and Spotipy to read the primary emotion and match it to a Spotify playlist. We used Flask to establish our web framework and HTML/CSS to beautify our website.

Challenges we ran into

We spent a lot of time establishing how we were going to look up the Spotify playlist, specifically whether to implement it in JavaScript or in Python as a backend. The JavaScript implementation led to complications with API and connecting to Spotify while Python led to complications when constructing our backend and trying to piece it all together. Trying to use Flask and Bottle were new to us and ended up giving us Python bugs that we would not have gotten otherwise.

Accomplishments that we're proud of

We are proud of the UI we created as well as our ability to combine so many different programming aspects into one project. We are also proud that we were able to accomplish our goal of implementing a machine learning algorithm and that we were able to have the frontend and backend interact the way that we wanted them to.

What we learned

We learned how to interact with Microsoft's Azure modules as well as Spotify Web API, Spotipy, and Flask. We learned how to set up a backend and have JavaScript and Python languages interact with each other.

What's next for Moodsic

We'd like to expand on this website by picking a random song from the playlist returned, as well as allow it to start playing on the user's Spotify app.

Share this project:

Updates