Empowering Citizens to Fix Their Cities with AI & Geo-Intelligence.
Built for the TechSprint Hackathon 2025
Local civic issues—like dangerous potholes, uncollected garbage, or waterlogging—often go unreported because the process is tedious. Citizens don't know who to contact, and authorities receive unstructured, vague complaints that are hard to prioritize.
NammaCity is a Flutter-based mobile application that bridges the gap between citizens and the government using Google's latest AI and Cloud tools.
- Snap & Solve: Users simply take a photo of an issue.
- AI Analysis: Gemini 2.5 Flash instantly analyzes the image to identify the problem (e.g., "Pothole"), assess severity ("High"), and draft a professional report.
- Geo-Verification: The issue is pinned on a Google Map with precise coordinates, preventing duplicate reporting.
- Actionable Data: Authorities receive structured, validated data instead of random complaints.
This project leverages the full power of the Google Cloud & AI stack:
| Component | Technology | Purpose |
|---|---|---|
| Mobile Framework | Flutter | Cross-platform, high-performance UI. |
| AI Model | Gemini 2.5 Flash | Multimodal image analysis (via Vertex AI). |
| AI SDK | Firebase AI Logic | Unified SDK for secure, server-side AI calls. |
| Backend | Firebase | Auth, Firestore (NoSQL DB), Storage (Images). |
| Location | Google Maps SDK | Real-time mapping, Geocoding, and Visualization. |
| Identity | Aadhaar Auth | (Simulated) Secure identity verification for trusted reports. |
We don't just "label" images; we extract structured intelligence.
- Input: Raw image byte stream.
- Model:
gemini-2.5-flash-lite(Optimized for speed & cost). - Output: Strictly validated JSON schema.
{
"category": "Pothole",
"severity": "Critical",
"description": "Large pothole on main road causing traffic slowdown. Approx 2ft wide.",
"estimated_fix_time": "4-6 hours",
"is_valid_issue": true
}
- 📍 Live Issue Map: View all reported issues in your locality on an interactive Google Map.
- 📷 AI-Powered Reporting: No forms to fill. Just click a picture, and Gemini fills the details.
- 🚦 Severity Grading: AI automatically flags "Critical" issues (like open manholes) for immediate attention.
- 🔐 Verified Citizen Access: Sign-up flow using Aadhaar verification to ensure genuine reports.
Follow these steps to run the project locally.
- Flutter SDK (3.24+)
- Dart SDK (3.5+)
- A Firebase Project with Blaze Plan (Required for Vertex AI).
git clone https://github.com/your-username/namma-city.git
cd namma-city
flutter pub get
- Go to Firebase Console.
- Create a new project.
- Enable Authentication, Firestore, and Storage.
- Crucial: Go to the "Gen AI" tab and enable Vertex AI.
- Download
google-services.jsonand place it inandroid/app/.
- Get a Google Maps API Key from Google Cloud Console.
- Add it to your
android/app/src/main/AndroidManifest.xml:
<meta-data android:name="com.google.android.geo.API_KEY"
android:value="YOUR_MAPS_API_KEY"/>
flutter run
| Home (Map View) | AI Analysis | Report Confirmation |
|---|---|---|
![]() |
![]() |
![]() |
|
- Multimodal Video Support: Allow 5-second videos to show water flow/leakage (supported by Gemini 2.5).
- Offline Mode: Use TensorFlow Lite for on-device detection when internet is poor.
- Language Localization: Use Google Translation API to convert reports into local regional languages automatically.
- Rethanya P - Team Lead
- Ramanan Mahendran - Team Member
Built with ❤️ and ☕ in Chennai @ SSN College of Engineering.


