30 freshman at Western University in Ontario, Canada were drugged and assaulted (Sept 10, 2021)
Protest occurs at Auburn after three students report assault, rape within a week (Sept 15, 2021)
Towson University shooting kills one and injures two others (Sept 4, 2021)
These headlines were all taken within the last month and demonstrate the shocking reality that student safety on campus remains an increasingly pressing concern. A recent survey found that 40% of undergraduate students feel unsafe on campus.
This led us to the question, how can we enable students to walk safely and without fear?
What it does
Introducing Sentri, a crime-data-driven route planner.
Danger hotspots identification
Leverages the FBI crime data API to identify danger hotspots and presents this information in a clean and intuitive fashion to users. Users are able to see what type of crime occurred at each location with markers labeling them as assault, car theft, arson, etc. Additionally, a heatmap is generated that displays the crime hotspots.
Custom shortest safe path generation
Utilizing the Google Directions API and HERE, Sentri takes into account the different danger hotspots and finds the safest, shortest path from point A to B that avoids the danger spots. Users are able to flex and move the route, adapting it to their needs. We chose to use a 3D map with HERE, allowing users to better visualize the surrounding landmarks. Users are then given detailed instructions on how to reach their destination and have the ability to send those directions to their phone via a SMS message through Twilio.
Additional community-driven features
Sentri also includes a FAQ, safety articles, and crime report sections. These features are included to further drive community building and create a platform for those passionate about creating safe spaces in their neighborhoods. Sentri is created for users and driven by users! Users are able to report a crime which is then vetted and verified by a team of professionals. Safety articles are also included, producing educational opportunities for those interested in pedestrian safety or just curious and want to learn more.
How we built it
Our design philosophy throughout this competition was maximizing accessibility and utility for all users. Through WebGL, three.js, and the Google Maps Platform API, we were able to develop an intuitive and responsive 3D vector map on our home page. The rest of the project’s frontend was designed mainly through HTML5, CSS, Sass, and Bootstrap, following our design goals.
Our backend was a culmination of several technologies: Firestore as our primary database, Python Flask for our server, and Twilio for SMS messaging capabilities. Combined with our front end, our full-stack web application was able to achieve, and exceed, our desired functionalities.
Challenges we ran into
As our product further developed there were many new features we wanted to include such as adding additional markers on the map or creating heatmap high-density zones. However, we quickly ran into the issue of balancing load speeds with new feature development. This challenge taught us about the different ways we can optimize our application such as reducing calls to our database and frontend requests. Additionally, we added different toggles to feature flag different features so they are not run on every reload. We were able to apply ways of optimizing time and space complexity to create a smooth and seamless user experience.
Another challenge we ran into was with the path-finding algorithm we’re creating. We wanted to leverage Dijkstra's algorithm for finding the shortest path between nodes of a graph but quickly found the expected behavior to differ from the actual behavior. Through much debugging, many hundred thousand API calls, and countless hours of testing we were able to squash the bugs and create our very own pathfinder algorithm.
Accomplishments that we're proud of
Our team is proud of the tech stack we were able to pick up during this hackathon. We’re proud of how we were able to pull in all our third-party integrations and dependencies together into a centralized and polished web application. We were able to expand our knowledge and have since explored WebGL Overlay, Firestore, Twilio, HERE, and Firebase. These are definitely products we will be bringing with us to different projects in the future.
What we learned
The power data holds! There is so much data readily available at our fingertips and by finding ways to analyze and display it in an easy-to-understand fashion many new conclusions can be drawn. We hope to better use, communicate, and analyze data to help us make informed decisions.
What's next for Sentri
There are so many additional features that we would have loved to add to this app if we had the time! We would like Sentri to become a central hub for users and made for users, by users. This includes having a database of volunteers who someone can call when they feel unsafe while walking, having the functionality to save routes a user would often take, and their frequently traveled places. Additionally, utilizing the power of Twilio to send new incident notifications near a user's frequently visited places or home. This is just the beginning and Sentri is excited to see how crime surveillance can evolve and change lives!