NYC 311 Pothole Operations Dashboard
Cleaned and analyzed 8,531 scoped Brooklyn pothole reports to identify volume and closure patterns.
2026
Why I built this
I like using data to make everyday problems easier to understand. Potholes felt like a good example because cities need to know when complaints are rising, where problems are showing up, and how quickly they are being handled.
Tools I used
Python · Pandas · Next.js · React · TypeScript
What I did
- Analyzed 8,531 out of 8,574 Brooklyn pothole reports from 2025. Removed 40 bridge-condition reports that were outside the street-pothole scope and 3 reports created in 2026.
- Checked the remaining reports for missing information and date mistakes, including one report marked closed before it was created.
- Compared complaints by month and looked at how quickly they were closed.
What this shows
I can take messy public data, clean it up, and turn it into something that makes the important patterns easier to see.
Operations dashboard
8,574 downloaded → 8,531 Brooklyn pothole reports analyzed
8,574
Brooklyn pothole reports downloaded
8,531
Brooklyn pothole reports analyzed (2025)
8.5K
Reports Analyzed
99.7%
Closed
Monthly request volume · 2025
Visual proof
Explore the reports
5,011 of 8,531 Brooklyn pothole reports include usable location data. Filter them by closure outcome or month and select a report to see how the NYC Department of Transportation (DOT) handled it.
3,520 reports without usable coordinates are excluded from the map only, not from the overall analysis.
View
Closure outcome: how DOT resolved the report. Time to close: calendar days between the report’s Created Date and Closed Date.
Closure outcome
What I learned
I learned how to turn thousands of 311 reports into something easier to explore by cleaning the data, comparing closure outcomes, and showing where reports were most common across Brooklyn.
What I will do next
I will turn this into a live city tool that automatically tracks new complaints and helps teams see where attention may be needed first.