A lot of the world can use a whole lot more cheering up. With ChatBots and artificial intelligence becoming some of the hottest new innovations around, we thought we would make something fun that makes the most of both, while combining it with the magic of Spotify's cool music.
What it does
It's very simple: send a picture or write some text through Facebook messenger, and Mixabot will reply with the emotions she thinks she sees on your face, or in your words! She will then draw up some cards that link to Spotify, based on the emotions she has gathered from before.
How we built it
We used a Node.js + Express backend hosted on Heroku for most of the bot software, and used IBM's Watson and Microsoft's Cognitive API for the facial and text semantic analysis. All of this, of course, was done through Facebook's new Messenger platform. We then chose some songs that best suited your taste and emotion through Spotify.
Challenges we ran into
The hardest part was integrating Spotify into our application. Unlike the other API's we used, Spotify depends a lot on user generated access tokens, which were difficult for us to figure out how to handle in the context of Facebook Messenger. Additionally, the image and text analysis seemed difficult at first but everything ended up being a lot easier than we imagined.
Accomplishments that we're proud of
We're proud of the fact that everyone had a chance to learn something new: from learning how to use API's to using Node.js and the Messenger Platform, everyone touched on something they wanted to learn for this project. Also, it was really cool playing around with our product afterwards; there was a lot of satisfaction in making something with really hot and new technologies.
What we learned
We learned not to give up, for sure. To even at the moment of this writing, we are still hacking away and making Mixabot one of the coolest hackathon projects we've ever worked on. We've had an incredible amount of fun and we hope that things are ready enough for the demo!
What's next for mixabot
We need to polish the recommendation system a bit, and possibly expand Mixabot so that it's a universal emotional chatbot, designed to make people feel better. We can't wait to keep working on it.