Inspiration Watching civic complaints get lost in WhatsApp groups and government portals that never respond. We wanted to build something that actually acts on a complaint, not just stores it.

What it does CivicAI lets citizens report civic issues (potholes, water leaks, power cuts, sanitation) via text or photo. The AI pipeline instantly classifies the complaint, filters fakes, detects duplicates, scores severity (0–100), and routes it to the right department — with real-time status tracking and officer messaging.

How we built it Frontend — React 19 + Vite, Leaflet maps, Recharts, Socket.IO for real-time updates

Backend — Node.js + Express + MongoDB, JWT auth, REST APIs

ML Service — Python FastAPI microservice with XGBoost severity scoring, TF-IDF category classification, Sentence-BERT duplicate detection, and rule-based fake detection

AI Chatbot — Groq Compound AI for in-app citizen guidance DevOps — Docker + Docker Compose + Nginx

Challenges we ran into Tuning XGBoost severity scores to feel meaningful across very different complaint types Sentence-BERT duplicate detection needed careful geo-proximity gating to avoid false merges

Real-time Socket.IO sync between citizen and officer views across roles Keeping the ML microservice fast enough for a smooth UX without async queuing

Accomplishments that we're proud of A fully working end-to-end AI pipeline from submission to resolution

Emergency auto-escalation that triggers alerts without any human review Clean role-based UX for citizens, officers, and admins — all in one system

Trained on 6,000+ real civic complaint samples What we learned ML model accuracy means nothing if the UX doesn't surface the results clearly

Real-time features (sockets, live maps) add huge perceived value Keeping microservices loosely coupled saved us during last-minute changes Fake/duplicate filtering is underrated — it dramatically improves data quality

What's next for CivicAI Mobile app (React Native) for on-the-go complaint filing with camera

Multilingual NLP support for regional languages Predictive analytics — forecast complaint hotspots before they spike

Integration with actual municipal APIs for automated department dispatch

Citizen reputation scoring to weight high-quality reporters higher

Built With

Share this project:

Updates