Inspiration
Even before the pandemic, teenage mental health concerns had been on the rise—it has only exacerbated since! According to the CDC, more than 1 in 3 high school students had experienced persistent feelings of sadness or hopelessness in 2019, a 40 percent increase since 2009, and approximately 1 in 6 youth reported making a suicide plan in 2020, a 44% increase also compared to 2009. Being teenagers and young adults ourselves, we understand the struggle and wanted to create a product that would potentially help individuals.
But what is it that we can contribute? What would people use? All of us having an interest in ML and NLP, so we considered variations on text-based emotion detection. But it had to be something that would be easily accessible and useful—hence an app. We ultimately concluded on what we have now: an aesthetic mood-tracking bullet journal.
The importance behind a mental health tracker is the same as when you record your physical health. It allows you to gain a better understanding of your own body and well-being; you can notice patterns in your behaviors and discern what it is that you need or can do to stay healthy emotionally and maintain your mental wellness in the long term. Moreover, it grants you accuracy and confidence when seeking help: to a doctor or other medical professional, you have the right answers to all their questions and can receive what you need.
What it does
Upon opening ThoughtSloth, right after the welcome page is the the current month in the calendar format. Underneath each date are your recorded moods in the form of color-coded dots, should you have logged that information before already. You can record your moods by either going through a page with several checkboxes for a variety of emotions, or writing a short entry as you would a bullet journal. There is an additional feature where you can see a line graph with your various moods and intensities over the last ten days.
How we built it
The app itself was written with Java in Android Studio, using several open source libraries like Material Calendar View and MPAndroidChart to help build functionalities like the calendar, dots for the logged moods, and line graphs that track the changes for various moods over time. We used Firebase to store the daily emotion data and the user's journal entries. Our text-based emotion detection system was written with TensorFlow in Python and used many resources from Tensorflow Lite libraries as well.
Challenges we ran into
Our experience in the various fields mentioned above were rather limited, so we were all trying something new in the short amount of time that a hackathon provides. We had to get accustomed to TensorFlow—in fact, we originally began with TensorFlow Lite—and had to experiment in an effort to connect it with Android Studio. We also weren't particularly familiar with cloud databases, so we attempted Cockroach DB as well before settling on Firebase. In the end, the time constraints of the hackathon posed the greatest challenge—and this first edition of ThoughtSloth is the accumulation of our efforts!
Accomplishments that we're proud of
Despite our unfamiliarity with the aforementioned platforms and the ticking clock, we are proud of our end result! We learned a lot about NLP and how text classification works through TensorFlow; though we couldn't connect our model to Android Studio, we're proud to have produced a model that yielded 80% accuracy with our test data set. We're also proud of having assembled our app in a way that allows the user connection to other resources, such as the cloud database with Firebase. And we can't forget the design! Our mascot, the sloth, is very cute and accurately represents what we hope to bring to our users—calmness.
What we learned
Not only did we learn a lot through our research on ML and NLP, but we also learned a lot through our time coding, such as but not limited to: gaining experience in problem-solving and troubleshooting numerous obstacles, assembling and familiarizing ourselves with new programs, and how to effectively share our code and progress so that we can progress as a group and create a polished final product.
What's next for ThoughtSloth
The next edition of ThoughtSloth should include our model and text-based emotion detector properly connected to the app itself! That way, the text input can be analyzed for your mood and you will no longer need to use the checkbox unless you want to. We'd also like to store more information on our cloud database, to make everything flow smoother for every user.
Built With
- android-studio
- firebase
- java
- material-calendar-view
- mpandroidchart
- python
- tensorflow


Log in or sign up for Devpost to join the conversation.