The map is updated in real-time, adding markers whenever a nearby crime is reported.
Users can anonymously submit reports about crimes, natural disasters, and emergencies as they see them.
Each report has community-sourced information publicly available.
Emergency services personnel have access to an administrator dashboard.
Alphie uses Twilio to send you information about events in under a minute after they are reported.
Inspiration for Alpha
As college students living on their own, we are often in a completely new territory. On USC’s campus, there are places boarding the school that can seem unsafe or chaotic. USC’s police department does a great job of keeping security guards, but even then, the notifications of police reports come at least 20 mins after an incident. I experienced this walking home one day, only to find a helicopter circling my house and blocking me from going home.
Feeling secure in your day to day life is a priority and Alpha works to improve the safety of communities. We create securities through numbers.
What Does Alpha Do?
Alpha is a high-speed web dashboard which provides you with crowd-sourced information regarding nearby crimes, natural disasters, and suspicious activity. By logging in with your phone number or email, you gain access to a dynamic collection of real-time reports from people in the same area as you. Alpha gets critical information to you as soon as possible through Alphie, your very own virtual assistant. Alphie uses cloud communications and database integration to text you about nearby dangers so that you can live safely. As a user of Alpha, you will also be able to contribute to an ever-growing map of crime information in your area by submitting anonymous reports through Alpha's user-friendly interface. We also created an administrator dashboard so that regional admins, such as emergency services personnel, can monitor and interact with community reports.
How We Built Alpha
We built the front-end using React and Node.js, employing the Google Maps API to create an interactive map with custom markers, one for each reported crime. In addition to the map, the user interface features Alphie, the site's virtual assistant, who we placed in the lower left corner. By linking to our database in Firebase to a websocket, we were able to make Alphie update the web dashboard instantly. Alphie also uses Twilio to send instant notifications to your mobile device, less than a minute after an incident has occurred. We built the back-end in Node.js, connecting to Firebase and the Google Cloud Platform to create a robust server and facilitate smooth communications.
Challenges We Ran Into
One of our biggest challenges was figuring out how to integrate several core components in React. Since we had limited knowledge of React, we often ran into syntactical problems (such as implementing inline styling with JSX, using React's special attribute names, and making components to render correctly). We also ran into several minor issues while using Firebase, since this was our first time working with it, but fortunately we were able to resolve those conflicts quickly due to the user-friendly interface and thorough documentation.
What We Learned
Alpha is the first project our team has made using Firebase. Specifically, we gained invaluable experience with Firebase's sophisticated authentication system, file storage & serving, realtime database, and cloud functions. We are excited to continue to use Firebase as we refine and develop Alpha even further!
What's Next For Alpha?
The next step for Alpha is updating Alphie's messaging capabilities so that users can post about crimes simply by texting him. Using Twilio's SMS capabilities, we will be able to set up a webhook which can receive messages from users and quickly upload them to Firebase, adding to the community's database of crime information.
Currently, Alpha works well on both web and mobile environments. However, we want to create a mobile application using React Native which will link to the dashboard and can facilitate a smoother user experience. This application should be compatible across Android and iOS devices.
Finally, we want to adapt our admin dashboard to allow regional administrators (emergency services personnel such as police, firefighters, and doctors) to control and respond to reports faster and more robustly. This involves implementing a machine learning algorithm to detect and eliminate spam, a more explicit database connection which enables administrators to review reports faster, and an augmented version of Alphie designed to help emergency services personnel get the resources they need as fast as possible.