Inspiration

As a minority living in America I personally noticed social injustice in the means of racism. I felt that there had to be some way to combat social injustice using technology yet I couldn't find an app that did this. When I joined this hackathon my mind immediately went back to this problem and soon after SafeZone was born. Born out of necessity and determination to create change.

What it does

SafeZone combats social injustice in local communities in 2 ways. The first way is in the fact that it gives victims a voice, victims can report different social injustice experiences to raise awareness about these issues. These reports get added to a visual heat map that everyone can look at to once again become more aware about these social injustices. The second way it combats social injustice is through trends/pattern and data analysis. Many people need data on these social injustices yet getting this data is hard. We store our user reports in a public database for anyone to see. Additionally we have our own AI model to classify and analyze our reports to find patterns in social injustice. Finding these patterns is really important in potentially finding solutions to social injustices. Thus SafeZone helps give a platform to victims to voice their experiences and creates a large database of social injustices while also analyzing this database for patterns using AI.

How we built it

We used react native and node.js to code the app. For the app styling we utilized css. The login/sign up page is made using firebase authentication. All of the report data gets stored in the firestore database. We also used a large language AI model to find patterns in this data. To make the google maps heat zone visual to raise awareness we use the google maps api and javascript.

Challenges we ran into

One of the largest technical difficulties we faced was creating our HeatMap system. In order to get the app working to its fullest extent, we had to store our reports in a database, feed them into our AI model, and place them into a map with a clustering algorithm using the Google Maps API. Our main challenge was taking all of these different technologies and combining them into 1 cohesive app. Another challenge came with properly rendering the heatmaps, where we had to make a clustering algorithm, which combined heat zones in proximity to each other. To overcome these challenges, we spent weeks coding, experimenting and debugging. It only goes to show that nothing is impossible with determination.

Accomplishments that we're proud of

We are proud of getting the AI to work and classify/find trends in report data. This was my first time ever interacting with AI so getting it to work is something I am proud of. The heat map and clustering system also work really smoothly which adds a lot to the user experience. I am also happy with how the app ended up looking, css is not a strong suit of mine but I think SafeZone turned out pretty nice. All in all I am proud of how I incorporated so many different technologies to make 1 cohesive app that helps local communities by combating social injustice.

What we learned

We learned the ins and outs of different apis, for instance the google maps api. We also learned how to set up our own database with firebase/firestore. Furthermore we learned a lot about how Large Language AI models work and how you incorporate them into javascript code. All in all we learned a lot, but the most important thing we learned is troubleshooting. I can't even talk about the amount of times we hit roadblocks where we got errors. But by persevering, watching tutorials, and by reading documentation we got a finished app that worked. As corny as it sounds we learned a programmers most important tool is not giving up.

What's next for SafeZone

One thing to make this app more useful for users would be to add data from police and crime databases to our heatmap. Currently, we only have user report but by adding crime reports to SafeZone 2.0 we can get one step closer to creating a safer community. We would also create a profile system in SafeZone 2.0, which would help make reports more credible. Through this profile system, we could also limit the number of daily reports an account can send to prevent bots from spamming fake reports. To make this user profile system we would combine components of other user profile systems from apps like Uber and Instagram.

Share this project:

Updates