-
-
City accountability dashboard with fix rate, average fix time and escalations.
-
How FixMyCity AI compares with Swachhata and FixMyStree
-
Tracker: every report gets a deadline and an audit trail timeline.
-
If the deadline passes, the app escalates to the Municipal Commissioner and Pollution Control Board with a firmer letter
-
ElevenLabs voice settings: multilingual voice in English and Hindi, with a browser-voice fallback
-
Home page: report it, track it, get it fixed, with live stats.
-
Resolution check: before and after photos compared by AI, with a confidence score.
-
Live incident map with Resolved, Escalated and Pending pins (30 sample incidents)
-
Fake fix detected: the authority marked it resolved, but the AI comparison shows the waste is still there.
-
Gemini finds the responsible authority, health risk and environmental impact, and drafts a formal complaint with legal references.
Inspiration
Inspiration
Civic apps like Swachhata and FixMyStreet let people report garbage dumps, polluted lakes and burning waste, but they have three gaps: you type everything by hand, nobody follows up when the authority ignores you, and complaints get marked "resolved" even when nothing changed. I wanted an app that closes the loop, so the problem actually gets fixed.
What it does
- Snap a photo of an environmental hazard.
- Gemini identifies the problem, severity, environmental impact and the responsible authority.
- A formal complaint with a deadline is written automatically, in English or Hindi.
- If the deadline passes, the app drafts a firmer escalation letter to a higher authority.
- Upload an "after" photo and Gemini compares it with the original to detect fake fixes.
- A city dashboard and live incident map show Active, Escalated and Resolved reports by area.
- Results and letters can be read aloud with ElevenLabs.
How I built it
I designed the concept and the flow, then built the app with Google AI Studio (Gemini) using my own prompts, and tested and refined it. Gemini handles photo analysis, complaint writing and before/after verification. ElevenLabs (eleven_multilingual_v2) provides the voice, with a browser-voice fallback so the demo never breaks. The frontend is React, TypeScript, Vite and Tailwind, with a Node/Express backend, Firebase and a Leaflet map. It is deployed on Google Cloud Run.
Challenges
- ElevenLabs blocks library voices on free accounts, so I made the app pick a voice from the user's own account and fall back to the browser voice.
- Getting before/after verification to work reliably with real photos and with demo data.
- Making the demo smooth when the real government systems can't be connected.
What I learned
Keeping the feature list focused and making the demo reliable matters more than adding everything.
What's next
Partner with municipalities for real complaint submission and status updates, support more Indian languages, offline photo capture, and public accountability scores by ward.
Notes
The dashboard, map and Demo Mode use sample data to show how the app looks with real reports. Demo photos are sample images from the web, used for illustration only. No real complaints are sent to any government system.
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for FixMyCity AI
Built With
- computer-vision
- css3
- elevenlabs
- express.js
- firebase
- firestore
- gemini-api
- google-cloud-run
- html5
- javascript
- leaflet.js
- node.js
- react
- rest-api
- tailwindcss
- text-to-speech
- typescript
- vite
Log in or sign up for Devpost to join the conversation.