I go to UC Berkeley and it's kinda known for its stressful environment. College can be a stressful time for anyone but there are a number of ways to combat that. One of the most effective methods I have found to cope with stress and occasional despair is through tracking "good days" and "bad days". In doing so it becomes clear that I often don't think about my mental health on days I am feeling perfectly fine and this leads to the gross exaggeration of how difficult my life is in my own head as I only remember bad days more vividly than good ones.

What it does

JournalBot is a web app that allows anyone to create an account and journal whenever they feel like it. Then it uses machine learning, specifically Google Cloud's natural language processing models, to run a sentiment analysis on the journal entries and give the user a report on the level of perceived happiness and contentment in their journal entries.

How I built it

I built JournalBot using the web app development platform Flask and Google Cloud's NLP API.

Challenges I ran into

I have never built a web app, used Google Cloud APIs, used Flask, coded in HTML, or used sqlite. Apart from the syntax of Python I had to learn every thing that I built. Understanding how web apps are organized and how each individual part interacts with another was a huge learning curve.

Accomplishments that I'm proud of

I am happy to have built a web app as it is something that I didn't have any knowledge about even just 24 hours ago. It took me 5 attempts at creating a web app (using different frameworks, different tutorials, and different organizational structures) to even just get a basic web page up and running. This project was really a huge feat for me.

What I learned

From writing HTML, to using Google APIs to even just routing properly, everything was new to me. It was a stressful and at times unmotivated hack, but I pulled through and learned the basics of web app development

What's next for JournalBot

JournalBot is going to get a wardrobe update and have Bootstrap or at-least CSS added to it soon. Apart from the aesthetic aspects, I intend to build a full blown analytics suite so that users can get highly specific and important metadata of their journalling. My end goal for JournalBot is for it to be a Journal that helps people identify the events, places, people, and things that cause trouble and stress in their day-to-day lives, so that they can reflect and make meaningful changes.

Share this project: