NYC Arrests Visualizer

Civic Tech, Data Visualization, Interactive Mapping, Python, FastAPI

Animate NYPD arrest data day by day across any month, or watch crime heatmaps morph across an entire year


Explore over 6 million NYPD arrest records through two interactive visualizations built on live data from NYC Open Data. The project combines a Python backend, concurrent API fetching, and client-side heatmap interpolation to make a large civic dataset explorable and visually compelling.


What It Does

Month View — Pick any month between 2006 and 2023. Arrests animate onto the map day by day as color-coded dots: gold for felonies, blue for misdemeanors, and pink for violations. A live HUD tracks the current date and running total. Toggle a heatmap overlay to see the full month’s density pattern at once.

Year View — Select a year and watch 12 monthly crime heatmaps morph smoothly into each other. Each month’s arrest data is converted into a 300×300 intensity grid over NYC’s geographic bounds, and frames between months are mathematically blended using easeInOut interpolation to create a flowing animation that reveals how crime patterns shift across seasons.


How It Works

Data Pipeline

Visualization

Tools & Stack


View the full code on GitHub

Next Project

Tamil Nadu 2026 Election Dashboard