What It Does
This project is a website that features a prototype of an interactive chatbot open to the public. The goal of the chatbot is to aid users to explore their feelings and for suicide prevention. When the chatbot application faced with specific keywords related to negative emotions (such as ones that show signs of suicide or COVID-19 depression), the chatbot would respond immediately and provide local crisis hotline for the users of the chatbot.
As a result of COVID-19 and implementations of social distancing around the world, higher rates of mental health problems have been reported. Many face loneliness and isolation while others may be forced to live in unhealthy and/or abusive environments. We want to provide comfort and company for those who are facing these hardships in these times, and we have chosen to do so through an interactive chatbot. It features emotional guiding and provision of additional local resources in times of need.
How we built it
The website was assembled using HTML and CSS. In addition, our GEOIP and country based crisis hotlines are stored in MongoDB databases. The interface is provided to both the chatbot(and the site was supposed to be planned) but sadly Macarthur forgot to include that part in time for the final version. But it has been added to the code itself.
Challenges We Faced
Throughout the process, we faced several obstacles of our project: lack of experience with creating API's and using flask, technical difficulties with the consistency of our servers, struggles with training the chatbot to produce coherent responses, and etc. However, we were able to tackle these challenges as a team, through problem solving, learning on the spot, and adapting to new solutions. None of us had ever used flask before, nor MongoDB, or chatbots, nor ML were all struggles that we faced when developing it. Also the lack of prior experiences doing hackathons also contributed to making the project more difficult than it would have been if members were more familiar with the format.
What we learned
We were able to gain valuable experience through this process of our project. We picked up new tools allowed us to reach our final goal, including flask, the ChatterBot library, etc. We were also able to gain experience with areas that we were less familiar with, such as machine learning, API's, querying databases, and more. Therefore, we thoroughly enjoyed the process of working together as a small team, and proud to say that after this experience.