Case Study
Faultline
Civic infrastructure reporting that turns individual complaints into documented patterns with legal weight. 50+ features. Report in 10 seconds. AI photo analysis. Automated jurisdiction routing. Legal demand letters citing state statutes.
The Problem
Individual citizens can't force municipal action
You report a pothole. Nothing happens. You report it again. The ticket gets closed. The pothole becomes a sinkhole. Someone's tire blows out. The city pays a $12,000 liability claim on a repair that would have cost $75.
This isn't a technology problem. It's a leverage problem. A single citizen filing a complaint has no power. But documented patterns combined with community verification combined with legal frameworks — that's a different equation entirely.
FixThisFaster doesn't just report issues. It builds the evidentiary record that makes ignoring them expensive. Three independent reports on the same hazard triggers community verification. GPS coordinates map to specific municipal jurisdictions. Automated legal demand letters cite the exact state statutes that create liability for documented, unaddressed infrastructure failures. The app turns a complaint into a case file.
By the Numbers
50+
Features
24
Report Categories
42
Pre-Configured Authorities
5
Languages
3
Report Verification Threshold
$75
Fix Now vs $12K Later
The Intelligence Layer
See it, snap it, it's filed
The core reporting flow takes 10 seconds. Open the app, take a photo, submit. Everything else is automatic. Claude Vision analyzes the photo and classifies the issue — pothole, broken streetlight, damaged sidewalk, graffiti, drainage failure — with severity assessment and repair priority scoring. GPS coordinates are captured at sub-meter precision.
Voice commands handle the entire flow hands-free. AR overlay shows existing reports in your field of view so you don't duplicate what's already been filed. The friction between seeing a problem and documenting it is as close to zero as I could make it.
But the real intelligence happens after submission. The app cross-references your GPS coordinates against Census Bureau boundary data to identify which of 42 pre-configured municipal authorities has jurisdiction. Not the city — the specific department. A water main break routes to the water utility. A traffic signal failure routes to the traffic engineering division. A sidewalk collapse on a state road routes to the state DOT, not the city DPW.
Getting this right required mapping the Byzantine overlaps of American municipal governance. The same physical location can fall under city, county, state, and federal jurisdiction depending on what's broken. The Census Bureau's TIGER/Line shapefiles provide the boundary data. PostGIS provides the spatial queries. The authority routing logic encodes the institutional knowledge of which agency actually fixes what.
The Hard Parts
What made this difficult
- GPS boundary-based authority routing via Census data Municipal boundaries are not simple polygons. They're gerrymandered nightmares with enclaves, exclaves, and disputed territories. Census TIGER/Line data provides authoritative boundaries, but loading and querying shapefiles at runtime requires PostGIS spatial indexing. A single point-in-polygon query needs to check against city limits, county boundaries, special districts, school districts, and state borders — then apply the institutional routing logic that determines which of those entities actually handles each category of report.
- Automated state-specific legal document generation Massachusetts, Rhode Island, and New Hampshire each have different statutes governing municipal liability for infrastructure failures. M.G.L. c. 84 § 15 in Massachusetts. R.I. Gen. Laws § 24-5-14 in Rhode Island. RSA 231:90 in New Hampshire. The demand letter generator cites the correct statute based on jurisdiction, includes the documented evidence chain (photos, timestamps, GPS, community verifications), and formats the letter to the standards expected by municipal legal departments. Getting the law wrong isn't an option.
- Claude Vision photo analysis for infrastructure assessment The AI doesn't just classify the issue — it estimates severity. A hairline crack in a sidewalk is a 2/10. A six-inch pothole on a main arterial road is an 8/10. A collapsed retaining wall near a school is a 10/10. Training the prompt engineering to produce consistent, defensible severity assessments across 24 report categories required extensive calibration against real municipal prioritization frameworks.
- Geospatial clustering for report deduplication When three people report the same pothole, the system needs to recognize they're describing the same physical defect, not three different ones. GPS coordinates vary by several meters between reports. Photo angles differ. Descriptions use different words. The deduplication engine uses DBSCAN spatial clustering with category matching and temporal proximity to group reports that likely reference the same issue — then triggers community verification when the threshold is met.
- Predictive infrastructure decay modeling A crack reported today becomes a pothole in six months becomes a sinkhole in two years. The predictive analytics engine models infrastructure degradation curves based on report type, material, climate zone, traffic volume, and repair history. Fiscal impact projections show municipalities what they'll pay later if they don't fix it now. The $75 vs. $12,000 comparison isn't rhetorical — it's calculated from actuarial liability data.
- Cross-municipal shame index Infrastructure health grades — A+ through F — computed from report density, resolution times, repeat reports, and severity trends. Published as a comparative index across municipalities. The political incentive structure changes when your city's D+ infrastructure grade is publicly visible next to the neighboring town's B+. Embarrassment is an underappreciated forcing function in municipal governance.
The Legal Framework
From complaint to case file
The legal layer transforms FixThisFaster from a reporting tool into a civic infrastructure weapon. When community verification confirms a hazard, the app can generate a formal demand letter addressed to the responsible authority, citing the applicable state statute, attaching the photographic evidence chain with timestamps and GPS coordinates, and establishing the documented-notice timeline that creates legal liability.
Insurance claim packaging takes it further. For property damage caused by infrastructure failures — tire damage from a pothole, water damage from a broken main — the app bundles the evidence into a format that insurance adjusters can process: incident documentation, prior-report history showing the municipality had notice, jurisdictional confirmation, and fiscal impact assessment.
The fiscal impact projections speak the language municipalities actually understand: money. A cracked sidewalk costs $75 to patch today. Left unrepaired, it becomes a trip hazard, generates a personal injury claim, and costs $12,000 in legal and medical liability. The app calculates these projections using real actuarial models and presents them to the municipality alongside the repair request. Fix it because it's right. Or fix it because it's cheaper. Either way, fix it.
Individual citizens can't force municipal action. But documented patterns, community verification, legal frameworks, and fiscal projections create a pressure gradient that makes inaction more expensive than repair.
The app doesn't fight city hall. It makes city hall's own cost-benefit analysis argue for doing the right thing.
Architecture
How it's built
React frontend with full accessibility compliance — WCAG 2.1 AA across all 50+ features. Five language localizations (English, Spanish, Portuguese, Haitian Creole, Chinese) because infrastructure failures don't check your English proficiency before breaking your axle.
PostgreSQL with PostGIS handles the spatial data layer — report locations, boundary polygons, spatial clustering, proximity queries. The Census Bureau API provides authoritative boundary data that gets cached and indexed locally for sub-second jurisdiction lookups.
Claude Vision handles photo analysis. Open311 and SeeClickFix APIs provide bidirectional integration with existing municipal reporting systems where available. Sentry for error monitoring — because a civic tool that crashes when someone needs to report a gas leak is worse than no tool at all.
The predictive analytics engine runs decay models per report category, calibrated against historical repair data. GIS layers visualize infrastructure health at the neighborhood, ward, and municipal levels. The shame index aggregates across jurisdictions with normalized scoring to account for population and area differences.
What I Learned
The honest retrospective
American municipal governance is a fractal of overlapping jurisdictions, and no one has a map. Building the authority routing system required manually researching which department handles which category of infrastructure failure in each of the 42 configured municipalities. There's no API for institutional knowledge. There's no database of "who actually fixes the streetlights in Cranston, Rhode Island." That information lives in the heads of city clerks and the muscle memory of 311 operators.
The legal document generation was the most research-intensive feature I've ever built. Each state's infrastructure liability statutes have different notice requirements, different timelines, different standards of proof. A demand letter that's legally sound in Massachusetts might be worthless in New Hampshire. The template system had to be flexible enough to accommodate three different legal frameworks while generating documents that a municipal attorney would take seriously.
The community verification threshold — three independent reports to confirm a hazard — was calibrated through research on crowdsourced data reliability. Too low and you get false positives. Too high and real hazards go unverified. Three is the minimum where independent confirmation becomes statistically meaningful without creating an unreachable bar for less-trafficked areas.
The deepest lesson: civic technology isn't about making reporting easier. It's about changing the incentive structure. When documented evidence plus community verification plus legal notice plus fiscal projection all arrive on the same desk, the calculus of inaction changes. That's not an app feature. That's a theory of change.