Inspiration
Across the world, approximately 218 million people suffer during natural disasters. This problem further is added on by 911 services in the United States taking 30 mins. more than their average response time. If this is the scenario in a developed nation, then we can only imagine the dire situation in developing nations where emergency services are further hampered by poor infrastructure. However, in today's date, people across the world are connected via smartphones. Therefore, our team decided upon creating a help app that would significantly reduce the 218 million figure by having a greater accessibility to everyone via social networking.
What it does
If home button is double clicked, app opens and the user can tell what kind of distress they’re in so that they can attain help in the fastest manner. If the tone of the user is more fearful/aggressive, the app adds more contacts to the list. Furthermore, a chatbot provides users with nearest hospitals and their respective addresses just by typing “help” in the edit text field. These quick processes increases the survivability rate of a user but having quick and easy accessibility to help.
How we built it
Usage of the IBM Chatbot (Communications API) We created a chatbot using IBM Bluemix and integrated it into Android Studio. The chatbot interacts with the user, determining in what kind of distress they are in and provides tips. For example: If the user asks chatbot for help, the chat provides nearby hospitals. The Chatbot is first trained by providing it with specific key details that it should appropriately respond to Then, when the user enters “help” (or any variation of it), then the process is transferred to Android and it uses Google Places API to find nearest hospitals to current locations Usage of the Voice Recognizer Aspect The voice recognizer implements IBM Bluemix Tone Analyzer API and analyzes the tone of the user. Based on the tone, if the stress level is high, more contacts will be notified while if the stress level is low fewer contacts will be notified. The stress level is determined by passing in a user spoken text into the API functionalities and reading a JSON output that determines the amount of Fear (numerically) in a user’s plea for help The application will send an SMS message to your emergency contacts with the exact coordinates of your location Emergency contacts are determined by contacts that have the word “Emergency” in the notes section
Challenges we ran into
The primary challenge we ran into was implementing the IBM Communications framework (how it would interact with the app) using various api's. After tedious research, our team concluded upon a starter code provided on GitHub. Nonetheless, we were constantly running into the problem of the ArrayList of different message being null, so that it would not display in the RecyclerView. We finally solved this by removing extraneous code that checked for null values, which proved counter-intuitive to its purpose. Another challenge we ran into was determining how to implement the Google Places API to determine hospitals near the current location of a user. The main issue was the debate between using regular android methods to fetch a location detail vs. using a web api. Surprisingly, we used the web api as it returned a JSON output, which we could easily structure into reading it into our program while providing multiple information about a hospital.
Accomplishments that we're proud of
We are proud of implementing a real-time AI that would communicate with the user. Some of our major accomplishments also include voice recognition API and fetching "Help" command, Google Places API that determined the nearest Hospitals around a current location, location services to determine the current location, and ContactsInfo API that read all the contacts and segregated the ones that had the word "Emergency" in their notes section.
What we learned
We learned how to implement different IBM apis and how to read information from them. We also were fortunate to discovered how to carefully follow Java's Object Oriented programming protocol in order to efficiently reuse them to expand the usability of our application. Finally, our appreciation for the potential of programming grew because we discovered how pre-built infrastructure can be used to expand upon a product to bring about change to a community.
What's next for Help
The next steps are to create a search and retrieve interface where community helpers can post resources with fields such as pictures, location, item, quantities; and users can retrieve these resources by simply searching for them, thus increasing their survival chances in finding new resources. Additionally, we will use the same interface to attract Agencies to communicate via the individuals by using the app. Furthermore, we plan to include a feature of tracking a user's own location and the user can search for the location by clicking a button and specifying the number of minutes they want the location for.

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