-
-
Aura Logo
-
Realtime Database for Emergency Contacts
-
Firebase Storage for m4a files from encounters
-
Firebase Auth for User Registration/Login
-
Camera App Opened
-
Add Emergency Contact
-
Home - Record Page
-
NLP in Action
-
Recording in Progress
-
Keywords being analyzed by NLP
-
Registration
-
Emergency Contact List
-
Record Video
-
SMS Being sent
-
Login
Inspiration
Over the past few years, we have sadly witnessed an alarming number of cases regarding police brutality and excessive force, especially since the death of innocent people like George Floyd which sparked the BLM protests. In fact, there have been several social media posts exposing the unacceptable behavior of these police officers via body cams or bystanders who had to watch helplessly as innocent people get harassed. When brainstorming we collectively agreed that having an app on your phone that records a certain incident when instructed could save millions of lives and protect justice in the face of the law. This application helps automate the process of sending alerts to loved ones or emergency contacts about whereabouts when dealing with potentially harming police interactions as well as providing proof of evidence in case a case goes to court.
Along with police brutality, there have been a lot of cases of sexual assault that have arisen over the past few years. We believe that our app can prove to be useful in those kinds of situations as well because it will provide evidence, since there is a lot of historical precedent of the victim not receiving justice. This application would help provide concrete evidence that would provide overwhelming proof of a certain encounter.
What it does
Aura is a social service app that protects citizens from any dangers they encounter in the outside world - specifically with law enforcement and with sexual assaults. When the user feels unsafe or uncomfortable they can begin recording by simply activating the Aura software with their voice. They would say “Record Audio” and the app will immediately begin recording. We found out that 20 minutes is the average time of a police altercation, so after 20 minutes, we automatically send a text message to a list of emergency contacts that includes their location as well as how long they have been in an interaction with the police with. The information that is documented will be directed to our Google Cloud Storage database that safely stores all the evidence even in case of detainment of their phone. Aura also allows users to input emergency contacts that we use to send alerts to in case of what we suspect as a dangerous situation. This subsection allows the user to add their closest contacts that they would like to alert via phone call in the case of an emergency.
How we built it
We split up the work between the three of us via front-end and back-end work. One of us worked on designing the User Interface and User Experience, which was created using SwiftUI in Xcode. The other two of us used Swift in order to code the back-end portion and utilized both Google Cloud’s Firebase Firestore and Real Time Database. We also utilized Firebase Auth in order to create sign-in and registration features. We also decided to add in Natural Language Processing libraries in order to help us decide when to start recording a video and when to cut it off. We used the NLP libraries to also determine what kind of interaction the user was going through - whether a police interaction or another unsafe interaction. If it was not a police interaction, saying key words like “help” or “911” would trigger calling the police. In a police interaction, key phrases like “I can’t breathe”, or “I have a gun” will trigger sending your location and other information to your emergency contacts.
Challenges we ran into
We ran into a lot of challenges when making the app throughout all points of the development. We decided to use SwiftUI for our UI this time so we had to learn how to implement that which was a big change from previously using Storyboard. This also led to some problems because there are some problems with the implementation of the camera feature, which we’ll have to wait for Apple to come out with new features for. We also decided to use NLP libraries, and sometimes SwiftUI wouldn’t cooperate with the navigation links for some reason which took some workarounds. We also had some issues with displaying the list of emergency contacts, but in the end we persevered and got through it.
Accomplishments that we're proud of
Some accomplishments that we are very proud of is creating a socially conscious app that we could develop further and publish it on the App Store. Creating the app is more about how much real-world promise it has since it would protect a lot of people in dangerous situations. Some other things we’re proud of is utilizing NLP in our application in order to analyze the types of situations that someone might be in without explicitly being told.
What we learned
We learned a lot about SwiftUI and how it is different from Storyboard, and noticed both benefits and drawbacks to using it. We also learned how to utilize NLP libraries like SwiftSpeech. Our new team member also got a lot of opportunities to learn about the Google Cloud Firebase and helped us develop some core features and got to experiment with new parts of the project too!
What's next for the app
We are going to work on creating a Siri shortcut to make sure that in the future, users won’t even have to open the app in order to start recording, but can straight away say it to Siri to start recording from Aura and it will open the app and start recording. We will also hope that Apple adds functionality for the camera to show up more consistently, and once that happens, we will be able to add a new dimension. We’d also like to clean up the UI more, because since this was our first time, the UI could be vastly improved. We’d also like to add more support for both Light Mode and Dark Mode on iOS.
Built With
- google-cloud
- google-cloud-firebase
- natural-language-processing
- swift
- swiftspeech
- swiftui
Log in or sign up for Devpost to join the conversation.