Unfortunately, late night assaults,especially to the female population, are not uncommon. Our inspiration came from the need to prevent such incidents. Most of the times, in case of emergency the victim might not have the time to respond and call for help. That's where our project comes in, alleviating this challenge.

What it does

Without any physical action from the user, our browser's functionality can be activated using voice recognition .The only action the user has to do is to press a button in the browser and from that point on the browser recognises what the user is saying. Using a safe word(in this case "Help"),it will immediately establish a call between the browser and the emergency contact( i.e police, parents ). Therefore, the user can communicate with the emergency contact without the need to press any buttons or accept any call. To make the user feel safer, we also added the functionality of sending their location via sms to the emergency contact's phone by just pressing a button in the website. (Hence the user doesn't need to be computer literal and use google maps to share their location).Lastly, we used google maps to point locations with previous criminal activity so the user can plan their route to a safe place.

How I built it

We built the main functionality using Javascript and Node JS. We built a server and using fetch requests to Nexmo's Voice and Message API, we managed to program an automatic connection between our server and Nexmo's. We then connected our website to our server and provided the user with all the functionalities through our website. We built the website using HTML5 and CSS. As for the google maps functionality, we used dummy values to pin point locations for previous criminal activities as we didn't have enough data to pin point the actual locations.

Challenges I ran into

We faced some challenges using Nexmo's API's as this was our first Hackathon and we were unfamialliar with this concept. We also had some difficulty establishing a connection between the browser and the emergency's contacts phone without the user pressing a call button. We used Nexmo Client SDK in JavaScript to achieve such functionality.

Accomplishments that I'm proud of

We managed to use speech recognition to activate the call, and therefore relieving the user of the need to press any buttons during an incidents, which we are really excited about. We are also really proud for understanding the concepts of Nexmo's APIs and succesfully using them to implement our idea.

What I learned

We have definetely developed a firm grasp about Web APIs and how to use fetch request to access their functionalities. We have also learnt a lot about network and server connections. Moreover,we had our first exposure to Node JS and we improved our skills in Javascript.

What's next for Arkangel

We have an ambition to make Arkangel an App instead of a website and if possible distribute it. We also have some ideas and further improvements for our project. We want to record the call between the browser and the emergency contact's phone, even if a call is not established. That would help with further investigation in case of an incident. We also want the location to be sent as soon as the browser tries to establish a call. In addition, we could also use the maps functionality to pin point true locations that had criminal activity and incidents in order to warn the user before taking that route.

Share this project: