Inspiration
We started this project with a simple thought: why does it always feel like the same communities face the most danger? Whether it’s women walking alone, minorities in underserved neighborhoods, or people near shelters or bars — some places and people seem to be more exposed to crime than others.
We wanted to use open data to highlight those invisible patterns and hopefully help protect people who are usually overlooked. This project is our attempt to bring attention to who is affected, where it’s happening, and what surrounds those areas that might make them more prone to crime.
What it does
Our project analyzes real crime data from the NYPD and combines it with location-based intelligence from OpenStreetMap to identify areas and communities most vulnerable to crime. We enrich each crime record with the type of places nearby — like shelters, bars, clinics, schools, or empty lots — to understand patterns and environments where crimes often occur. This gives us insight into who is most affected (age, gender, race) and where crime is likely to happen — helping policymakers, NGOs, and communities take preventive action.
How we built it
-Collected and cleaned NYC crime data with victim details and GPS coordinates. -Fetched nearby location types for each crime scene using the OpenStreetMap Nominatim API, categorizing them into meaningful place types (e.g., shelters, bars, parks). -Used K-Means clustering and other unsupervised learning algorithms to group crime-prone areas based on both location features and victim demographics. -Applied a Random Forest model to assign a danger score to locations by learning from historical crime data — helping identify which locations are riskier than others. -Built a chat-based interface where users can: -Ask if it's safe to build an amenity (like a shelter or store) in a specific area. -Enter group movement info (e.g., 4 teenage girls going to X place), and get an AI-generated safety assessment. -Get suggestions for safer nearby alternatives based on crime trends. -Used LLMs (large language models) to respond in a natural, helpful way, combining data insights with conversational support.
Challenges we ran into
-API limitations: OpenStreetMap’s free API has rate limits, so we had to batch and delay our calls carefully. -Messy data: Real-world data is often missing or inconsistent, especially with victim info. -Mapping places meaningfully: Not all nearby establishments are useful for analysis — deciding what actually matters took iteration. -Scaling up: The dataset is large, so performance and time were factors we had to work around.
Accomplishments that we're proud of
-Took raw crime data and turned it into something much more informative and actionable -Managed to build a meaningful connection between location context and crime patterns. -Focused on a social impact goal — helping protect people who are often overlooked. -Did it all using open datasets and free tools, making it accessible and replicable.
What we learned
What's next for Predictive Crime Prevention using Location Intelligence
-Real-time crime forecasting using RNNs or other sequence models trained on historical crime patterns and time-based features. -A more intelligent, human-like chat assistant -Actionable amenity suggestions that go beyond neighborhoods — integrating real estate/property APIs to recommend Available and plots or buildings to rent/build/ ammenty alternatives -A full-fledged mobile app with: Live emergency help/SOS features,Real-time heatmaps and alerts based on ongoing crime or crowd reports,A community safety dashboard for residents or organizations.
-Collaboration with NGOs, local self-help groups, and citizen collectives to: -Validate data through grassroots reports. -Anomaly detection + adaptive clustering to flag emerging hotspots before patterns become obvious.
Built With
- and-backend-logic-pandas-&-numpy-?-data-cleaning
- and-other-clustering/classification-models-matplotlib-&-seaborn-?-visualizations-and-heatmaps-geopy-&-folium-?-geolocation-mapping
- and-preprocessing-scikit-learn-?-random-forest
- css
- distance-calculations
- flask
- folium
- geopy
- html5
- javascript
- k-means
- llm
- manipulation
- ml
- numpy
- openstreetmap
- pandas
- postgresql
- python
- scikit-learn
- seaborn
Log in or sign up for Devpost to join the conversation.