CivicAI: Making City Repair Reports Easier to Prioritize
Description and use
CivicAI is a prototype that uses Gemini to structure citizen-submitted photos of infrastructure issues and calculates a transparent priority score for repair triage.
Problem
City teams need a way to review public infrastructure reports and prioritize repairs based on structured information extracted from photos.
Outcome
CivicAI prototype demonstrates how AI can structure citizen reports and provide a transparent priority score, improving triage transparency over simple arrival order queues.
Workflow
- 1. Citizen submits photo and location via web form.
- 2. Frontend (React/TS/Vite) sends data to Node.js/Express API.
- 3. API forwards image to Gemini for structured JSON response.
- 4. If Gemini fails, demo response is used.
- 5. API calculates priority score from severity, report count, age, location importance, and AI confidence.
- 6. Dashboard displays issue details, map view, and summary analytics.
- 7. Reviewer can view factors influencing priority and suggest improvements.
Evidence
A citizen can submit an issue with a photo and location. The backend can send the image to Gemini for a suggested issue type, severity, confidence, responsible department, risk factors, and recommended action.
CivicAI also calculates a priority score from five factors: severity, number of reports, how long an issue has remained unresolved, location importance, and AI confidence.
- Record date: 2026-11-02T07:59:15.592Z