911 is an essential service for modern society, but since its inception, the only way to report an emergency is through a phone call. 70 to 80 percent of all 911 calls now come from cell phones instead of landlines, making it nearly impossible for emergency operators to pinpoint your location. In addition, in some situations, calling 911 is unsafe or physically impossible. Furthermore, if the center is experiencing high volume, users may be placed on hold.

For a place that handles life and death situations, 911 losing valuable time simply because dispatchers have trouble determining your location is unacceptable. Improving location accuracy and reducing the amount of time it takes to report an emergency would save many lives. With that in mind, we built an alternate way to contact emergency services and ensure that no emergency goes unreported.

What We Built


We built an Android app that allows users to quickly press a button to report the type of emergency and location. Users have the option of selecting "Track My Location," which uses the GPS and sends periodically sends your updated location information to the emergency operator, or "Custom Location," which allows users to select a position on the map. Users can also send details about their situation and/or upload an image. This information is then forwarded to the website.


The website displays basic information of the submitted emergencies in a table for emergency operators. Clicking on an emergency opens up a modal that contains all the information, including a map that displays the location. Operators can send a response back to the users, as well as update its status and assign it a level. The website automatically checks for updates and displays them accordingly so the operator does not need to manually refresh the page.

How We Built It


We used Xamarin to create the Android app, which was programmed in C#. Google Maps API was used to geocode locations. In addition, we used Google Cloud Platform to generate additional information about the user's surroundings from a picture. By using the Google Vision API, labels of interest are sent to the web interface, allowing for more detailed information.


Golang was used for the server-side. HTML5 and CSS3 were used for the website, as well as Javascript, jQuery, and Bootstrap. Ajax and JSON were used to transmit data, so the page is dynamic and does not have to be reloaded. MongoDB was used for the database. In addition, we used the Google Maps API.


This not only increases the speed at which users can report emergencies, but also eliminates any miscommunication that may accompany a phone call. Our hope is that our project will allow people to safely contact 911 in any situation and enable emergency services to get where they're needed faster.

Share this project: