๐ CivicAI โ Smart Complaint System
๐ก Inspiration
Have you ever seen a pothole on the road or garbage piling up nearby and thought, โSomeone should fix thisโ?
The reality is, many civic issues go unresolved because people either donโt report them, donโt know where to report them, or their complaints get ignored or duplicated. This gap between citizens and authorities inspired us to build CivicAI โ a platform that makes reporting issues simple, smart, and impactful.
โ๏ธ What it does
CivicAI is an AI-powered web application that allows citizens to report civic issues like garbage, potholes, water leakage, and street light failures.
- Users upload an image and optional description (or use voice input ๐ค)
- AI classifies the issue and assigns a severity level (Low, Medium, High)
- The system detects duplicate complaints within a 50-meter radius
- Complaints are automatically routed to the correct department
- Users can track complaint status in real-time
- Authorities manage and resolve issues through an admin dashboard with analytics and map view
- Works even offline and syncs automatically when connected
๐ ๏ธ How we built it
We built CivicAI as a full-stack, scalable application:
- Frontend: React.js + Tailwind CSS for a clean, responsive UI
- Backend: Node.js + Express for API handling
- Database: Firebase Firestore for real-time data storage
- AI Integration: Featherless.ai API for image classification
- Maps & Location: Google Maps API for geolocation and visualization
For duplicate detection, we used a distance-based approach:
[ d = \sqrt{(lat_1 - lat_2)^2 + (lon_1 - lon_2)^2} ]
If ( d \leq 50 ) meters and the issue type matches, it is considered a duplicate.
โก Challenges we ran into
- Duplicate Detection: Accurately detecting nearby complaints required handling real-world GPS variations
- AI Reliability: Ensuring correct classification and handling low-confidence predictions
- Offline Support: Managing local storage and syncing data seamlessly
- Role-Based System: Designing separate flows for citizens and authorities without complicating UX
- Real-time Updates: Keeping complaint status updated across users and admins
๐ Accomplishments that we're proud of
- Built a fully functional AI-powered civic platform
- Successfully integrated image classification + rule-based severity detection
- Implemented duplicate complaint prevention, improving efficiency
- Created a clean, responsive UI with real-time tracking
- Designed a complete admin dashboard with analytics and map view
- Added offline support and voice input, enhancing accessibility
๐ What we learned
- How to build real-world, impact-driven applications
- Integrating AI APIs into full-stack systems
- Working with geolocation, maps, and spatial logic
- Importance of user-centric design and simplicity
- Handling edge cases like duplicates, offline data, and sync conflicts
- Thinking beyond code โ as problem solvers and product builders
๐ฎ What's next for CivicAI
- Improve AI with custom-trained models for higher accuracy
- Add multi-language voice support for wider accessibility
- Implement push notifications for status updates
- Introduce government API integration for real deployment
- Enhance analytics with predictive insights and heatmaps
- Launch as a Progressive Web App (PWA) for better performance
CivicAI is not just a project โ itโs a step toward smarter cities and empowered citizens. ๐
Built With
- api
- authentication
- css
- express.js
- featherless.ai
- firebase
- firestore
- github
- html
- indexeddb
- javascript
- localstorage
- maps
- react.js-tailwind-css-node.js
- speech
- web
Log in or sign up for Devpost to join the conversation.