In Canada, carrying around any form of weaponry is illegal. This may sound like a blessing, but that rule extends to self-defence. In fact, there have been cases where victims of assault were tried for defending themselves. This inspired our app: an application that immensely increases the chances of help arriving in the case of emergency attacks. If you can’t defend yourself, your best bet is to ping for assistance. In normal circumstances, assaults occur quickly and leave victims little to no time to seek help, but our app helps to overcome that: we wanted to create an application that can help the defenseless amidst a world of enraging chaos. Our app is activated by a simple voice command which can be set by the user. After activation, backend processes carry out a number of actions independent of the user’s device that all aim to acquire emergency assistance. With a single word, a victim can get location-specific responses that can’t be terminated by the assaulter.
What it does
When opening our application, the user will be prompted to enter crucial information such as emergency contacts and will also select a keyword of their choice; upon voice recognition of the pre-selected keyword, the app will initiate a series of actions to provide the user with emergency help. The voice command will trigger two actions that occur simultaneously: sending a call to emergency services and an SMS text message to the emergency contacts earlier inputted by the user. The message received by the emergency contact will display user location, along with an alert informing them of the call for help that the user had initiated.
How we built it
Alison was in charge of using a location API to retrieve the longitude and latitude of the user device. Mabel handled the SMS Messaging portion of the app using the Twilio API and designing the user interface of the app. Additionally, Cameron configured the Google Speech-To-Text with Google Cloud, connecting the APIs to the android app. Joying then created and implemented the user interface of our mobile application.
Challenges we ran into
During the configuration of the Location API, we had great difficulty running the code to work on mobile after working correctly on a web browser. We spent a great deal of time gathering the location using a web browser, but then after hours of wasted efforts, discovered that it was incompatible with our app. From there we sought to update location using APIs from Google-- one of the most challenging tasks we've faced. We encountered various problems, one of which that took great hours to fix even with the help of a mentor. We also had difficulty integrating Twilio into our mobile app: near the end, we realized we might have chosen to bite off more than we could chew. But with perseverance and the sacrifice of sleep, we were able to create a functional and accurate location service and SMS messaging service.
Accomplishments that we are proud of
As this was the first 24-hour hackathon for everyone on our team, we are proud of successfully building a functioning android app that will be able to help people all over the world. In addition, most of us had never used the APIs and barely coded in the languages that our app is written in. Although we are greatly satisfied that we created a useful application, we are also incredibly happy that we overcame our fears of trying new things and, as a result, were able to meet wonderful people, try new things, and most of all, dive into the exciting realm of hackathons.
What we learned
nwHacks allowed us to gain a large variety of skills. These include the implementation of API’s, Android Studio usage and collaborating with peers to create a successful team project. We were also granted the opportunity to interact with many mentors, gaining a glimpse into their expertise, while applying it to our project. After 24 hours, we realized that the programming community isn't one to be afraid of, but rather, one in which we can learn invaluable skills and make cherished memories.
What's next for resCue
The next step for this project is to port resCue to other operating systems so that many more users are able to use this app. Additionally, we would like to add more helpful functions such as location streaming, audio recording, and pinging nearby stores and restaurants.