Mental health has become one of the most prominent issues today that has impacted a high percentage of people. This has taken a negative toll on their lives and have made people feel like they do not belong anywhere. Due to this, our group decided to assist these people by creating a phone application that minimizes these negative feeling by providing a helping hand and guiding them to additional aid if necessary.
What it does
Our application utilizes a chat bot using voice recognition to communicate with users while responding accordingly to their mood. It strives to help their overall mentality and guide them to a greater overall personal satisfaction.
How we built it
We used Android Studio to create an android application that incorporates Firebase for user authentication and data management using their database. In addition, the chat bot uses Dialogflow's machine learning capabilities and dialog intents to simulate a real life conversation while providing the option for anonymity. In conjunction to Dialogflow, Avaya's API was utilized for its voice recognition and connection to emergency situation through SMS and phone calling.
Challenges we ran into
It was very challenging for us to implement the Avaya API because of its compatibility with Java DK, making it difficult to get the correct HTTP connection needed. This required specific Java versions as well as maven to be able to integrate it in conjunction with the data output from Avaya's API. In addition, the Firebase implementation provided difficulties because of it is NoSQL database which made it tough to retrieve and interact with the data.
Accomplishments that we're proud of
Despite the challenges faced, we were still able to implement both the Avaya API, which is now able to both call and sent text messages, and the Firebase database to store all the user data. This all came together with our final product where the chat bot is able to interact with, call, and send text messages when required.
What we learned
The biggest takeaway from this is learning to think outside the box and understand that there is always another way around a seemingly unsolvable goal. For example, the Avaya API library was difficult to implement because it required downloading a library and using an intermediary such as maven to access the library. However, despite this obstacle, our team was still able to find an alternative in accessing the API through Curl calls and access the needed data. A similar obstacle happened for Firebase database where the pull requests would not process as required, but we were able to find an alternative way to connect to the Firebase and still retrieve the needed data.
What's next for ASAP Assistance
The more the chat bot is utilized, the better the communication will be between the user and the bot. Further training will improve the the bot's capabilities which means it could use many more intents to improve overall user experience. With continued contribution to the logical capabilities of the bot, a wider range of communication can be supported between the user and the bot.