Disasters can be stressful not only to the victims, but also their loved ones who can be left worrying out of the loop. With the unsuspecting occurrences of natural disasters causing displacement and disruptions in communications around the world, those effected often need ways to quickly inform many people as soon as possible. The recent fires and floods that occurred in Australia are examples of disasters that may develop this fear and worry in the hearts of loved ones, fear that could be alleviated by a quick text message.
What it does
Mr. Gency is a system that allows users to sign up and input their name and emergency contact information into a system via SMS messages. In the event of an emergency, as soon as they are safe, the user can send a quick message to our bot describing their status. The bot will then quickly send short messages to everyone on their contacts to let them know their status.
How we built it
Since every one of our team members knew Python, we decided to use Python to develop our program. In order to build the program, we started off by splitting off into two subteams: one that would work on signing up and storing data in Firebase and one that would work on sending alerts by extracting data.
Challenges I ran into
Since the initial goal was to upload data acquisitions to a database, we decided to use Firebase for this implementation. However, none of us had any prior experience working with Firebase. Because of this, we spent a large portion of the Hackathon researching Firebase and how to implement the database. We were able to successfully run the program locally, but that was without using Firebase. However, after long attempts, we found a solution using Microsoft Azure. We also encountered an issue where our Twilio authorization code was scraped off of GitHub, but after a significant delay, we were able to circumvent the issue.
Accomplishments that I'm proud of
"As a first time Hacker, I was thrilled to have been part of a great team and create something from scratch in a short time span." - Gokul
"I am proud that we actually got a functioning project working" - Patrick
What I learned
We learned a tremendous amount about how Twilio, Google Cloud, Firebase, and Microsoft Azure work. These programs were new to most of us, but we managed to find ways to understand and implement them into our bot.
What's next for Mr. Gency Emergency Bot
We worked on several features that might not make the cut for the hackathon due to time constraints. we used an API called ParallelDots that allows for us to examine their status from a message. From the analysis of the text, we could change the outgoing message to reflect if they are safe, still in danger, etc. This would be useful because, in the event of an emergency, the user might not be in a good state of mind to give a concise message themselves. We managed to get this feature working in isolation, but might not get it fully implemented in time. We also intended to implement input validation and greater interactivity, but seeing as this is a very rough proof of concept, these were cut for time. If we switched to Node.js, we could have created a chatbot with a greater degree of interactivity, but all of us had Python experience, so we went with that instead for the time being. Based on our progress, we came up with ideas that could be implemented in future models that could potentially improve communication and effectiveness. If subscribed to by a county for disaster relief, it could track who is reported as safe, and this could help direct rescue efforts.