Inspiration ☁️:

Over the last couple of years, nearly 1 in 4 deaths of Canadians younger than 75 were from preventable or treatable causes. Some of these causes are the difficulty to make the right decisions during an accident, and the ability to get help from the right experts.

Recently, one of our friends experienced a house robbery. He talked about the traumatizing experience and mentioned his feelings of helplessness. He emphasized an inability to call for help without getting found.

After hearing his story, we decided to create an application to ensure people that help is only one click away.

Note: Entering the Vonage API Sponsor Prize

What it does💁‍♂️:

The web application asks the user to choose between three buttons (Police, Ambulance, and Fire Department). When they choose an option, the option is recorded and the user is prompted with a form asking for additional information to enter. Once they press the submit button, a message containing the information is converted to a text to speech call using the Nexmo (Vonage) API. The user's location is also grabbed and sent as information using the Geolocation API by Google. All of this is parsed into a call to 911. On our project it calls our phone number instead because we did not want to disrupt emergency services.

How we built it👷:

The application uses the Google Geolocation API to fetch the user location, and Nexmo (Vonage) API to send that location as a text to speech message, and any additional information, in an automated voice call.

The web application itself is built using a NodeJS, expressJS, dotenv, and Nexmo (Vonage) backend, and a simple HTML/CSS frontend. Hosted using Heroku.

Challenges we ran into 😳:

Some challenges we faced were linking the frontend to our nodeJS backend, page routing, and hosting our site to Heroku using Bash. Our hosting was not working properly, and we spent a lot of time fixing this issue.

Accomplishments that we're proud of 💪:

Some of the accomplishments we're proud of:

  • Successfully linking the frontend to the nodeJS server
  • The simplicity and user-friendly features
  • The efficiency; being able to generate and send the voice call in less than 4 seconds
  • Persevering in the face of difficulty when our code wouldn't work

What we learned🧠:

  • Integrating NodeJS modules such as express and dotenv
  • Processing post requests with body parser
  • Understanding and implementing APIs (Vonage, Geolocation)
  • CSS style animations using Javascript
  • Hosting on Heroku
  • How to build a project from start to finish
  • The importance of having a good attitude

What's next for Somebody Call 911💼:

  • Add a functionality that sends the automated voice call to not only emergency phone lines, but personal contacts as well
  • Detect what emergency number is available in the user's region, and call that specific number
  • Improve front end features such as the UI/UX design, and responsive use features
  • Market the application to make Somebody Call 911 a household name
  • Fix application error page once call is made (currently can be fixed by simply reloading the page)

Github can be found at: https://github.com/timhyc19/scemergency

Built With

Share this project:

Updates