Inspiration
Community problems are easy to notice but often difficult to report clearly.
A broken streetlight, pothole, overflowing trash bin, damaged sidewalk, or water leak may be described differently by every person. Important details can be missing, and turning a simple observation into a useful report can take unnecessary effort.
That inspired me to build CivicFix AI, a software platform that helps people turn everyday community problems into structured, prioritized, and location-aware reports.
What it does
CivicFix AI lets a user describe a community problem in their own words.
For example:
"There is a huge pothole near the school and cars keep swerving around it."
CivicFix can turn that description into a structured report containing:
- Issue type
- Category
- Suggested priority
- Potential impact
- Summary
- Location
- Status
The user can then review the information, place the issue on a map, and save the report.
The platform also includes a community issue map, dashboard, and report history so users can understand the issues they have recorded.
How it works
CivicFix follows a simple workflow:
Describe → Understand → Prioritize → Map → Track
Common issues are handled using built-in structured knowledge first. For custom or ambiguous descriptions, the application can use its AI layer to organize the information and produce a structured suggestion.
Users always remain in control of the final report. Suggested categories and priorities can be reviewed and edited before submission.
The map uses location selected by the user, either through browser geolocation or a manually placed map marker.
How we built it
CivicFix AI is built as a modern responsive web application using React, TypeScript, Vite, and Tailwind CSS.
The project uses:
- A structured local issue-knowledge system
- Browser localStorage for report persistence
- Interactive maps with Leaflet and OpenStreetMap
- Browser geolocation
- Server-side Gemini integration for custom and ambiguous reports
- Structured response validation
- Local dashboard calculations and visualizations
A key design decision was to keep common operations local and deterministic instead of depending on an external service for every interaction.
Challenges
One of the biggest challenges was turning natural-language reports into useful structured information without making the process complicated.
Another challenge was designing a priority system that remains understandable. CivicFix therefore uses the term Suggested Priority and provides a plain-language explanation, while allowing the user to change the final priority.
Location handling was another important consideration. The application gives the user control over where a report is placed and clearly distinguishes prototype community data from official civic records.
Accomplishments
I am proud of building a complete workflow that connects:
Natural-language reporting + structured data + location + mapping + analytics + AI assistance
into one product.
CivicFix is more than a form or a map. It provides a complete journey from noticing a problem to organizing, visualizing, and tracking it.
What I learned
This project taught me that useful AI systems do not need to replace the entire application.
A strong system can combine deterministic software logic, structured data, APIs, and AI where each component is best suited to the task.
I also learned how important transparency is when working with AI-generated classifications. Suggestions should be understandable, editable, and clearly presented as suggestions rather than unquestionable decisions.
What's next
Future versions of CivicFix could connect reports with official civic-service systems, support richer geographic analysis, provide better issue clustering, and help identify recurring community problems.
The long-term goal is to make it easier for people to turn everyday observations into clear, useful information that can help communities understand what needs attention.
Built With
- api
- artificial
- css
- data
- design
- gemini
- gps
- intelligence
- javascript
- json
- leaflet.js
- localstorage
- openstreetmap
- react
- responsive
- tailwind
- typescript
- visualization
- vite
- web


Log in or sign up for Devpost to join the conversation.