CivicLens: Turn a Civic Problem Photo into a Verified Complaint
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend What I Built I built CivicLens for a friend who encounters civic issues daily but rarely reports them because the complaint pro
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built CivicLens for a friend who encounters civic issues daily but rarely reports them because the complaint process is too tedious.
The problem is simple: when someone notices a pothole, garbage accumulation, broken streetlight, damaged road, overflowing drain, or another civic issue, reporting it can be surprisingly difficult. They have to figure out what the issue is, describe it properly, identify where it belongs, find the right department, and then have little visibility into what happens afterward.
CivicLens turns that process into:
Take a photo → AI analyzes it → confirm the location → route the complaint → track it → verify the resolution.
A citizen can upload a photo of a civic problem and CivicLens uses Gemma 4 to identify the issue, assess its severity and confidence, extract visible evidence, describe the risk, and generate a structured civic report.
The complaint is connected to a location and routed toward the appropriate department, giving authorities a structured case they can track and act on. Once work begins, the system can use before-and-after evidence to help determine whether the issue was actually resolved.
Demo
Live Demo: https://civiclens-hacktober.vercel.app/
The demo shows the complete CivicLens workflow from uploading a civic issue photo to AI analysis, location confirmation, and complaint management.
Code
The complete source code is available on GitHub:
https://github.com/aayushmalve/civiclens-hacktober-041026
The repository contains the CivicLens application code without API keys, environment files, or generated dependencies.
How I Built It
CivicLens is built around Gemma 4, specifically gemma-4-26b-a4b-it, for visual analysis of civic problems.
The AI analyzes uploaded images and returns structured information including:
- Civic issue category
- Issue title
- Severity
- Confidence
- Visual evidence
- Description
- Public risk
- Recommended action
- Complaint report
The application is built with:
- Next.js
- React
- TypeScript
- Tailwind CSS
- Gemma 4
- Google GenAI SDK
- EXIF GPS extraction
- Browser Geolocation API
- Photon geocoding
- Leaflet / OpenStreetMap
The overall workflow is:
Photo evidence → Gemma 4 analysis → Location detection → Citizen confirmation → Department routing → Civic complaint → Tracking → Resolution evidence → AI verification
The MVP uses Neon PostgresSQL for complaint persistence, while the architecture can later add object storage and municipal integrations for production deployments.
Why Does Open Innovation Matter?
Using Gemma 4, an open-weight model, gives CivicLens a more adaptable AI layer.
The model can be evaluated, replaced, adapted, or deployed according to the needs and infrastructure of the application rather than making the entire civic workflow dependent on a single closed model.
This flexibility is particularly useful for civic applications, where different cities and organizations may have different infrastructure, privacy requirements, and deployment constraints.
The AI layer can also evolve independently from the reporting, routing, tracking, and resolution-verification systems.
Prize Categories
Build for a Friend
Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.

