People are one the most expressive animals on the planet. Most of the time we have been great at deciphering other people's emotional reactions to what we do and say, but sometimes (which almost seems to be on a date) we aren't that great at reading people's reactions. To help us to be more sympathetic and aware of other people's feelings towards us, we have discovered that microemotions can help us uncover the hidden emotions that we didn't see before and help us create longer lasting relationships.
What it does
Microemotion's purpose is to bring people together by providing them a compatibility rating. This compatibility rating is determined by taking emotional values from a series of webcam pictures of the user as they are reading a list of responses from a person of interest.
How we built it
We built it using Microsoft's Emotions API as well as Node.js for server-side communication and Firebase for a temporary database for storing pictures. First, we uploaded the 3 URI's of the images that the webcam took for each question to Firebase. Then after compressing it, we process the images with the Emotions API and get an average emotion reading to determine the emotion most closely associated with the corresponding question/response. Afterwards we use all of the emotional reactions to each questions to determine a compatability rating for the user with respect to the other person's response.
Challenges we ran into
We ran into some issues dealing with converting our webcam images into URI's and creating a suitable data-structure in Firebase to store all of them. The biggest challenge for us was/is compressing the URI's to a link short enough for node to process and pass into the Emotion API.
Accomplishments that we're proud of
We are proud of the collaborative effort for coming up for the idea as well as the teamwork in implementing the hack. One of us is a first time hacker/just learning web dev and was able to build all of the front-end website for us. The rest of us have never worked with image uploading/displaying, databases, React, or node thus we are very proud of ourselves to be able to learn all of these libraries and features in a short amount of time (all the while studying for midterms!)
What we learned
We learned to use backend with Firebase and Node.js as well as breaking up a complex project into more manageable parts for each team member to build. We also learned to (whenever possible) try to keep it as simple as possible.
What's next for Microemotions
Live webcam emotions feedback: in other words, users can have a live webcam chat with another person and Microemotions can give users instant feedback about the other person's feelings towards you. Another feature would use big data collected over the lifetime of the user to give users tips to help them be more cognizant of some of their not so great personality traits as well as steps to improve their sociability.