Inspiration
With many people forced to stay at home during the Covid19 crisis, it has become much harder for caregivers, including physicians, therapists, and family members, to take care of at-risk members of our community (such as the elderly, and individuals with past mental health issues). According to studies from Rochester University, daily Journaling can manage anxiety, reduce stress, and help cope with depression by helping individuals confront and better understand the issues in their daily lives. SentiJournals allows individuals to write daily journals, which are then analyzed via Google NLP tools. The information gained by analyzing a large set of data from numerous journals can help caregivers better connect with their patients and further seek to improve mental health conditions by providing patients with advice and support. SentiJournals analyses provide an intimate view into a patient's life at a glance, using the power of data to providing a personalized healthcare experience with minimal time required by caregivers.
What it does
SentiJournals provides a platform for patients to write brief journals based on their daily emotions and experiences. These journals are then analyzed by the Google Natural Language Processing API, to give a breakdown of the sentiment (overall emotion) in the journal. Caregivers (such as physicians, therapists, and family members) can view the sentiment breakdown and gain a better understanding of the patient's mental well being. Over time, as the patient contributes more daily journals, caregivers can better track and understand the patient's mental health and overall happiness based on the overall emotions present in their self-reflections.
How I built it
With a comprehensive backend and user-friendly frontend, SentiJournal seeks to make using the app easy for all parties involved. The backend is built with python, using a locally hosted Flask webserver and SQLite database for storage. Once journals are submitted by patients, the backend makes a call to Google Cloud's NLP Sentiment Analysis API. This breakdown is then passed along to caregivers via HTTP requests. The backend also manages logins/user registration with tokens.
The frontend of SentiJournal is a Kotlin-based app developed with Android Studio which collects information from users and passes it along to the backend via HTTP requests. The front end is designed with the intention of making it easily accessible and understandable for patients, and clean/organized for caregivers.
Challenges I ran into
I decided to work alone for this hackathon (my second hackathon ever!) as a personal challenge, and found that it can become very overwhelming very quickly! Working on the backend AND the frontend within a short period of time is an interesting, yet tiring challenge. Additionally, as this was my first time working with Google Cloud, I had to set up and configure my account to make API requests for the NLP sentimentality analysis. Thanks to the simplicity of the API, this process was greatly simplified!
Accomplishments that I'm proud of
I'm proud of the work and time that I put into SentiJournal, and the overall end outcome. It's very rewarding to see everything come together in the end!
What I learned
The greatest learning experience from this Hackathon was working with Google's NLP software. Before MedHacks, I did not know such software existed and found it really interesting to play with! I also appreciated the opportunity to learn more about the medical field and how software can play an important role.
What's next for SentiJournal
SentiJournal can benefit from powerful AI tools, which (when presented with a large enough set of anonymized journal sentimentality analyses), can be used to better understand the data. Implementing AI to handle the data would be an interesting new challenge! Improving the user interface is another significant goal of this project. By making the UX more elegant, the app will be able to encourage more users onto the platform. Further developing the architecture of the backend is also an important goal: switching from a SQLite database to MySQL and hosting the backend on a Google Cloud server would make the app much more functional and widely accessible.
Log in or sign up for Devpost to join the conversation.