Inspiration
Mental health is a big issue in society, specifically for millennials. It is still a quite stigmatized topic and our goal was to provide an unobtrusive and subtle tool to help improve your mental health
What it does
Our application is a journal-writing application where the goal is for the user to write how they feel each day in an unstructured way. We've built a model to help predict emotions and changes in behaviour to notice when a user's mental health may be deteriorating.
How we built it
The front end was built using Angular, and the back end was built using Node.js, Express.js, and a MongoDB database. To predict emotions from text, we built a convolutional neural network in Tensorflow Keras. The model was trained using data obtained by using PRAW API to scrape Reddit. Also, Twitter tweets were obtained from online datasets.
Challenges we ran into
It was very difficult to obtain data for the machine learning model. Although there are many datasets out there, they could only be obtained for research purposes. So, we had to scrape our own data, resulting in data of a lower quality and quantity. In addition, we tried to train another model using Indico Custom Collections. However, in the python script, we ran into a Internal Server Error. In the end, we used Indico Sentiment analysis instead.
Accomplishments that we're proud of
We are very proud of the user interface. It looks very clean and will definitely be a major factor in attracting and retaining users.
What we learned
We learned that obtaining data and processing it for training is an extremely arduous process, with many small tasks along the way that can easily go wrong.
What's next for A Note A Day
As more users begin to use A Note A Day, we will definitely need to change our database to a relational database. In addition, with more users, we can obtain more relevant data to improve our machine learning model. We
Currently, the application only warns users when their writing shows signs of mental health deterioration. As a next step, the application could automatically text a friend group. With serious symptoms, we could suggest professional services. Furthermore, we could incorporate cognitive behavioral therapy techniques to ask questions in more meaningful, impactful ways.
In addition, we could create a premium version of A Note A Day, allowing users to connect with professional therapists. This will allow therapists to monitor a large group of users by using the model as a guideline, while also providing resources for users to avoid mental health problems at the earliest sign.
Built With
- angular.js
- express.js
- mongodb
- node.js
- python
- tensorflow
Log in or sign up for Devpost to join the conversation.