About VisZero

An open-source tool for exploring traffic crash data from U.S. city open data portals.


What is VisZero?

VisZero is a stateless web application that queries official municipal open data portals in real time and presents traffic crash records as interactive heat maps and time-series charts. There is no proprietary database — every visualization is generated fresh from the source data on each request.

The project takes its name from Vision Zero, the road safety framework adopted by cities worldwide with the goal of eliminating all traffic fatalities and serious injuries. By making crash data easier to explore, VisZero aims to support researchers, journalists, planners, and advocates working toward that goal.

Data Sources

All data is sourced from official city open data portals via the Socrata Open Data API.

Dashboard Source Dataset Publisher
Chicago Traffic Fatalities Traffic Crashes – People City of Chicago / CDOT
Chicago Traffic Crashes Traffic Crashes – Crashes City of Chicago / CDOT

Data is updated by the source agencies on an ongoing basis. VisZero does not cache or store data — results always reflect the latest available records.

How It Works

  1. You select filters (victim types, cause groups, date range) via the form on each dashboard page.
  2. VisZero constructs a SoQL WHERE clause and sends a live query to the Chicago Open Data Portal.
  3. The JSON response is converted to GeoJSON for the Mapbox heat map and aggregated by date for the Chart.js time-series chart.
  4. Results are rendered server-side and returned as a complete HTML page — no client-side data fetching required.

Technology

Limitations

The Socrata API returns a maximum of 1,000 records per request by default. For date ranges with high crash volumes, results may be truncated. Applying tighter filters (shorter date ranges or fewer cause groups) will return more complete results.

Crash location data depends on geocoding by the source agency. Records with missing or imprecise coordinates will not appear on the map but are still counted in charts.