Skip to main content
Back to Portfolio
Portfolio Demo Simulated data — not a real city system

311 Service Requests

A fictional civic engagement tool showing how residents could report municipal issues and track their resolution. All names, addresses, and requests are made up.

React TypeScript Tailwind CSS Accessibility

10

Total Requests

3

Open

3.5d

Avg. Resolution

4

Resolved This Month

What type of issue are you reporting?

Public Works Maintenance

408-866-2145

Code Enforcement

408-866-2760

Police

408-866-2101

Click to attach a photo or drag and drop

PNG, JPG up to 10MB (demo only)

Categories reflect actual city service request systems as of March 2026. Individual requests are sample data for demonstration purposes.

The problem

Most cities still route 311 calls through phone and email. Staff manually log issues, assign them by hand, and send status updates one at a time. Residents who report a pothole have no idea if it was received, so they call again. Or give up. The result is call volume that drowns dispatch teams and visible community frustration that's entirely avoidable.

The approach

A structured intake system that captures issue type, location, urgency, and contact info from the start. Tickets move through a status lifecycle (Open → In Progress → Resolved) with optional email notifications at each stage. The staff view lets teams filter, assign, and update without a separate CMS. Accessible throughout: keyboard navigation, ARIA roles, and WCAG 2.1 AA contrast baked in from the start, not added after.

Why it matters

A 311 system residents actually use is a force multiplier for public works teams. Fewer repeat calls, less manual logging, and a visible record of resolved issues that builds community trust. Staff time saved on intake translates directly to faster response times, the metric residents and city councils actually track. The same pattern applies to any city that still runs service requests out of a shared inbox.