According to University of Toronto - St. George's National College Health Assessment Findings, 69% felt hopeless, 71% experienced overwhelming anxiety, 80% felt very sad, and 90% were overwhelmed by all they had to do. As awareness for mental health increases, I thought it would be cool to tackle this problem with a chatbot application.
The AI integrated chatbot is trained to conversate with the user and brighten their day. It can tell jokes on command and give suggestions for ways to destress. On the home page, there is a calendar to help users manage their priorities and schedule events. A symptom tracker and journal were also implemented to keep a record of a user's daily mood and increase mindfulness. The profile page displays a user's basic information, data on their mood for the past 30 days, and provides quick links to helpful mental health resource.
The Flutter SDK was used for the front-end and was coded in the Dart programming language. Firebase was used for the back-end to handle user profiles, and Google's DialogFlow API was used for the implementation of the chatbot. The Android Studio IDE was used so that the application could be tested with an Android emulator.
All the tools and technologies mentioned above were all new skills that I was able to apply for the first time. I learned to use the Android Studio IDE and how to run apps on emulators and virtual devices to test the application.
The overall functionality of the chatbot and the routing of the screens was difficult to implement given the many components that are involved in the application. The two largest components were the back-end Firebase integration and the incorporation of the chatbot with the DialogFlow API. After doing tons of research and reading up on documentation, I was able to piece everything together one small chunk at a time.
Dark mode was a great final touch to the application that enhances the user interface. The integration of the working chatbot was also a notable milestone.
You can test the app through Android Studio by cloning the GitHub repo and running it through an emulator.