We believed one tool for bettering one's emotional health is the ability to gauge your own emotions over time. MoodTrackr was made to help with that!

What it does

When you log into MoodTrackr, you can start tracking. From there, you'll get a continuously updating display of your emotions over time. In addition, we've put together a few demo games intentionally designed to make you emotional, for better or for worse, so you can see how that affects your mood.

How we built it

The front-end is developed in JavaScript with Node and React. It takes the HTML5 webcam media device and readies it client-side for the machine learning model. The back-end is developed in python using Tornado and Keras.

Challenges we ran into

There were a few blockers we ran into during the execution of our project. The first and largest blocker was the lack of ability to communicate between the Node front-end and Python back-end. This problem was eventually fixed by hosting the Python REST service publicly instead of privately. The second large blocker was incredibly slow classification times by the machine learning model. This was caused by the model being loaded on every request, by caching it we were able to speed up the classification times 100 fold.

Accomplishments that we're proud of

Every teammate was working on something completely different, and through encapsulation we were able to have all pieces work together with little work.

What we learned

When people work on separate parts of a project, the tool being used by every person can be different, what's important is that everyone uses the same modes of communication in their part of the project.

What's next for MoodTrackr

MoodTrackr needs many security improvements. The machine learning model also needs a lot of work, it is only getting about 60% accuracy right now.

Credit to

  • The architecture for the convolutional neural network is heavily inspired by this paper
  • Training Data used was found here
  • And special thanks to the Hacklahoma team for putting all of this together!
Share this project: