Live Incident Map
0 plotted
Live Ticker
newest firstBy Borough
click to filter mapTop Complaint Types
top 10Intake by Hour (UTC)
Channel Mix
how citizens reportSLA Cycle-Time Distribution
closed tickets — hours to resolutionAs-Is Process Model — 311 Service Request Lifecycle
cycle times measured from live data within SLA target (≤ 72h)
approaching breach
breach
Bottleneck Diagnosis
live-data drivenWhat-If: Predicted Resolution Time
empirical percentiles from live dataPick a borough + complaint type, then run.
Business Requirements Document — Auto-Routing for High-Volume Complaints
About City Pulse
A live, zero-cost ops dashboard built as a Systems Analyst / Business Analyst portfolio piece. It pulls real NYC 311 Service Request data from the city's public Socrata API, computes process-cycle analytics, and presents them through a command-center UI.
Architecture
- Data: NYC Open Data — 311 Service Requests (Socrata, no auth required).
- Pipeline: Node.js fetcher run on a GitHub Actions cron, commits
data/latest.json. - Frontend: Vanilla HTML/CSS/JS, Leaflet map, Chart.js, served by GitHub Pages.
- Cost: $0 — static site, no backend, no database.
SA / BA framing
- Process map of the 311 lifecycle with measured cycle times
- Bottleneck diagnosis grounded in current data
- What-If simulator using empirical percentiles
- BRD draft for an auto-routing improvement, with quantified expected impact
Customize
Open the gear icon (top-right) to switch themes, density, refresh interval, default
borough filter, and SLA target. Settings persist in localStorage.