Inspiration
Local neighborhoods have higher crime rates, with smaller robberies going on twice every day in the vicinity. This inspired me to create NeighborhoodGuard, empowering neighborhood watch programs and ordinary citizens to play a more active role against crime.
What it does
It downloads the publicly accessible county crime data and creates an interactive map through Python and Folium. Then the user can open the map in their browser (HTML file) which they can then interact with.
How we built it
I used Python, pandas, and Folium to build this project. Python was used for its simplicity and extensive libraries. Pandas was chosen to clean and manage the data, and Folium was used to export the geospatial map with markers showing crime locations and details.
Challenges we ran into
Data Cleaning: Real-world data is often messy. I encountered missing values, inconsistent formats, or irrelevant columns that needed to be cleaned or transformed before analysis.
Mapping Issues: Folium relies on latitude and longitude for plotting. I ran into inaccuracies in these values in the data that led to points plotted in the wrong location.
Browser crashing caused by Folium map: When using excessive markers on the map, it takes a long time to load, frequently a white screen or crashing the browser altogether. Workarounds included using different types of elements to load the map.
Accomplishments that we're proud of
We made a program, with no user effort, grabs the latest dataset and automatically does the cleaning up. The user should not have to deal with any kind of complex coding, just a terminal to set the parameters for the map through user-friendly prompting.
I made entirely by myself in one weekend. Being a high school student, I have many commitments, making it hard for me to find time in the week where I can sit down and just code. It was a very nice experience.
What we learned
- I learned how to use Folium to make geospatial maps with markers
- Bettered my knowledge of delaing with data in DataFrames
- Learned how to use an API endpoint and requests module to get files from a download link
- Learned how to chunk-write data, efficient method for updating existing large data files
What's next for NeighborhoodGuard
- Possibly adding worldwide crime datasets
- Better details menu of each crime
- AI combination for webscraping of crime (so the user has access to an even bigger mass of information neatly organized)

Log in or sign up for Devpost to join the conversation.