While almost everyone will experience symptoms of anxiety and other mental-illnesses at some point during their lives, most individuals will be unwilling to acknowledge or treat these symptoms due to stigmas surrounding mental illness.
By creating tools that subtly introduce resources and techniques to promote mental health, in a user-centric manner, without necessarily assigning labels about mental health, we can increase access and engagement rates with mindfulness tools and other beneficial mental health resources.
In order to do this, we built a web app called Mai Journal, which empowers anyone by encouraging daily journaling and providing mental healthcare information in a stigma-free and non-intrusive way!
What it Does
Our app allows users to record journal entries daily, each of which prompts them to summarize something about their day. The goal is to get daily journal entries from the user, so each user has a "streak" of how many consecutive days they've journaled. Our server detects those users that are close to losing their streak and notifies them over email or SMS. By making an entry at least once every 24 hours, the user increases their streak, and also the size and health of a digital plant on their dashboard page.
Every time the user makes a journal entry, their entry text is processed for sentiment analysis. We use NLP to suggest Youtube resources that will be the most helpful for someone in their state of mind. Based on how the user is feeling, they will receive suggestions to watch videos, read news articles, or consume some other form of media that will help them achieve a greater state of mindfulness. For example, if a user's journal entries indicated sentiments of depression and anxiety, the user would be provided with media that will help them calm their nerves, think clearly, be more optimistic, and focus on the current moment. The app keeps track of posts and their associated sentiments. This data is available only to the user, but long term mood data could be shared with a psychologist if requested by the user.
Our app is a prime example of how the power of machine learning and data analytics, when coupled with a stigma-free environment, can help everyone engage in mental health and mindfulness practices tailored to them while interfacing in a comfortable context, like a journal. Our app expands the group of people who engage with mental health and mindfulness tips beyond those who seek a more formal type of treatment.
How We Built It
To provide localized mental health support hotlines to our users, we use the Google Maps API to obtain the user's ZIP code, and fetch the associated hotlines based on that ZIP code.
We used Google Cloud Natural Language for training and using machine learning models to perform sentiment analysis and classification on user texts. To train one of the machine learning models, we fetched Reddit posts from a variety of subreddits using the Reddit API. To deploy our API, we used Google Cloud App Engine, and to deploy our app we used Heroku.
Challenges We Encountered
One of the challenges we ran into was the setup/overhead work involved with using Google Cloud's software. There were environment variables we had to configure, SDKs we had to download, and plenty of points of information on the Google Cloud Console we had to keep track of. It was a lot to take in at first, but after some good, hard coding we were able to power through and use the power of Google Cloud to help our application produce value in the mental health space.
Accomplishments We're Proud Of
We are proud of pushing ourselves to understand and leverage Google Cloud technologies in our app. Using Google Cloud at this hackathon was a software engineering enhancement/advancement that we were looking to apply in novel ways to produce value in the real world, and we did just that!
What We Learned
We learned so much in the fields of natural language processing, machine learning, cloud-based devops, and NoSQL databases through our use of Google Cloud. We also learned about how building clean and effective UIs helps us visualize data in such a way that we can learn more about our users, produce more value for them, and help them see the resources that are available for them.
What's Next for Mai Journal
Mai Journal will refine its NLP model with more training data from many different sources in order to create more accurate classifications of journal entries. An additional sentiment category could be added to the model so that even more detail could be considered in the suggestion. We also want to expand our database of mental health resources so that users receive more diverse recommendations.