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
Log in or sign up for Devpost to join the conversation.