Inspiration

As post secondary students, our mental health is directly affected. Constantly being overwhelmed with large amounts of work causes us to stress over these large loads, in turn resulting in our efforts and productivity to also decrease. A common occurrence we as students continuously endure is this notion that there is a relationship and cycle between mental health and productivity; when we are unproductive, it results in us stressing, which further results in unproductivity.

What it does

Moodivity is a web application that improves productivity for users while guiding users to be more in tune with their mental health, as well as aware of their own mental well-being.

Users can create a profile, setting daily goals for themselves, and different activities linked to the work they will be doing. They can then start their daily work, timing themselves as they do so. Once they are finished for the day, they are prompted to record an audio log to reflect on the work done in the day.

These logs are transcribed and analyzed using powerful Machine Learning models, and saved to the database so that users can reflect later on days they did better, or worse, and how their sentiment reflected that.

How we built it

Backend and Frontend connected through REST API

Frontend

  • React
    • UI framework the application was written in
  • JavaScript
    • Language the frontend was written in
  • Redux
    • Library used for state management in React
  • Redux-Sagas
    • Library used for asynchronous requests and complex state management

Backend

  • Django
    • Backend framework the application was written in
  • Python
    • Language the backend was written in
  • Django Rest Framework
    • built in library to connect backend to frontend
  • Google Cloud API
    • Speech To Text API for audio transcription
    • NLP Sentiment Analysis for mood analysis of transcription
    • Google Cloud Storage to store audio files recorded by users

Database

  • PostgreSQL
    • used for data storage of Users, Logs, Profiles, etc.

Challenges we ran into

Creating a full-stack application from the ground up was a huge challenge. In fact, we were almost unable to accomplish this. Luckily, with lots of motivation and some mentorship, we are comfortable with naming our application full-stack.

Additionally, many of our issues were niche and didn't have much documentation. For example, we spent a lot of time on figuring out how to send audio through HTTP requests and manipulating the request to be interpreted by Google-Cloud's APIs.

Accomplishments that we're proud of

Many of our team members are unfamiliar with Django let alone Python. Being able to interact with the Google-Cloud APIs is an amazing accomplishment considering where we started from.

What we learned

  • How to integrate Google-Cloud's API into a full-stack application.
  • Sending audio files over HTTP and interpreting them in Python.
  • Using NLP to analyze text
  • Transcribing audio through powerful Machine Learning Models

What's next for Moodivity

The Moodivity team really wanted to implement visual statistics like graphs and calendars to really drive home visual trends between productivity and mental health. In a distant future, we would love to add a mobile app to make our tool more easily accessible for day to day use. Furthermore, the idea of email push notifications can make being productive and tracking mental health even easier.

Share this project:

Updates