Inspiration We've all seen potholes that stay for months, garbage piles nobody clears, and streetlights that stay broken for years. In India, filing a civic complaint means navigating government portals with 15-field forms, captchas, OTPs, and ward numbers. Most citizens give up halfway. Those who finish wait two months and hear nothing. Meanwhile municipal offices drown in thousands of unsorted complaints daily with no prioritisation, no duplicate detection, and no SLA tracking. Critical issues get buried. NGOs willing to help have zero access to structured ground-level data. We built AreaPulse because we believe reporting a broken road should be as easy as taking a photo — and fixing it should be just as fast. What it does AreaPulse is an AI-powered civic intelligence platform connecting three stakeholders on one live map: citizens, government officers, and NGOs. Citizens report issues in three ways:

AR Camera Scanner — open the camera, point at a pothole or broken streetlight. Groq Llama-4-Scout 17B vision AI detects and classifies the issue in real time, GPS auto-captures, submitted in under 5 seconds. One tap. No form. No typing. WhatsApp Bot — send a photo to our Twilio-powered WhatsApp number. AI reads the image, classifies the issue, extracts location. No app install, no account, works on any phone including basic smartphones. Reaches rural users that no portal ever will. Map Tap — tap a location on the live map, upload a photo, submit. AI handles everything in the background. Under 30 seconds.

AI Pipeline processes every report through Groq Llama-4-Scout 17B vision model — auto-classifying across 10 categories (pothole, water, sewage, electricity, streetlight, garbage, traffic, noise, tree, other), scoring severity (high/medium/low), and auto-routing to the correct government department (PWD, MCD, Jal Board, BSES, DISCOM, Traffic Police). Every report passes through a three-layer security system before entering the database:

Layer 1 — Spam and Abuse Detection — a keyword filter catches obvious spam instantly, our trained scikit-learn ML classifier handles edge cases, and Groq LLM few-shot classification handles the rest. Fake reports, abuse, test submissions — blocked before they enter. Layer 2 — AI-Generated Image Detection — bad actors submit AI-generated images from Midjourney and DALL-E. We check EXIF metadata first — real phone photos have camera make, model, GPS, and timestamp while AI images have none. If inconclusive, our HuggingFace offline classifier runs. Final check — Groq vision analyses pixel patterns, lighting inconsistencies, and synthetic textures. AI image detected — report blocked, user permanently banned. Layer 3 — Duplicate DetectionHaversine formula checks a 50-metre radius and 7-day window. If multiple citizens report the same pothole, reports are merged into one issue with combined upvotes instead of creating noise. Keeps the database clean and ensures government officers see real, unique, prioritised issues only.

Government Dashboard gives officers a prioritised queue with live SLA countdown timers (24hrs for sewage, 48hrs for water, 168hrs for potholes), auto-escalation on SLA breach, crowd escalation at 25+ upvotes, and one-click status updates. NGO Dashboard shows filtered civic data by focus area and geography so organisations can identify where their intervention creates the highest impact. WhatsApp Notifications via Twilio auto-ping citizens whenever their issue is acknowledged, escalated, or resolved. Weather Intelligence — our XGBoost model trained on five weather patterns does two things. When a live storm or heavy rain hits, existing issues on the map are automatically reprioritised — a blocked drain in a storm zone becomes critical instantly. When weather is clear, the model predicts which civic issues are likely to appear before citizens even report them — approaching monsoon triggers preemptive alerts to authorities. How we built it

Backend: Python + Flask + Gunicorn with Jinja2 templating AI Engine: Groq Llama-4-Scout 17B as primary vision + LLM model, Google Gemini as fallback ML Models: scikit-learn spam classifier + HuggingFace AI-image detector + XGBoost weather prediction model Database: Neon PostgreSQL (primary, psycopg3 + connection pooling) + Firebase Firestore (secondary, 5-min TTL read cache) Frontend: Vanilla JavaScript + Leaflet.js + MapTiler satellite hybrid tiles AR Camera: Separate deployed service with real-time computer vision WhatsApp: Twilio WhatsApp Business API for inbound reporting and outbound notifications Email: Resend API for automated dispatch Auth: Google OAuth 2.0 + Firebase Auth + Flask Sessions Deployment: Render (continuous deploy from GitHub) + UptimeRobot monitoring Seed Data: 141 issues across 36 Delhi neighbourhoods covering all 10 categories

Challenges we ran into

Firebase quota exhaustion — free tier ran out within hours during testing. We engineered a 5-minute TTL read cache that reduced daily reads from 2,880 to 288, added graceful 429 handling that serves from in-memory seed data and queues writes in background threads. Duplicate detection at scale — calculating Haversine distance between every incoming report and existing issues was expensive. We bounded the search to a 7-day window and 50m radius to keep it fast. SLA system design — different issue categories need different deadlines. We mapped Indian municipal norms (24hrs sewage, 48hrs water, 168hrs potholes) and built countdown timers that auto-escalate on breach without manual intervention. AI-generated image detection — building a reliable three-layer detection system that catches synthetic images without blocking real phone photos required careful tuning of EXIF thresholds, HuggingFace confidence scores, and Groq vision prompts. WhatsApp EXIF extraction — extracting GPS from EXIF metadata of WhatsApp-compressed images required fallback logic since WhatsApp strips EXIF on some devices. AR camera latency — getting computer vision classification under 5 seconds on a mobile browser required optimising image compression before API calls. Render cold starts — free tier spins down after inactivity. UptimeRobot pinging both services every 5 minutes solved this.

Accomplishments that we're proud of

A citizen can report a civic issue in under 5 seconds with zero forms, zero typing, zero app downloads Three input channels (AR Camera, WhatsApp Bot, Map Tap) covering every user — from rural citizens with basic phones to urban smartphone users Three-layer AI security system — spam detection, AI-generated image detection, and duplicate merging — no fake report enters the system Fully automated AI pipeline — classification, severity scoring, spam filtering, duplicate merging, department routing — no human in the loop Live SLA timers with auto-escalation that actually hold government accountable Weather intelligence that both flags live storm-affected issues and predicts future civic issues before they are reported 141 seed issues across 36 Delhi areas for a realistic demo experience Dual database architecture that gracefully handles quota limits without any downtime Built and deployed end-to-end in a hackathon timeframe — both main app and AR scanner are live on Render right now

What we learned

Reducing user friction is more valuable than adding features. Cutting a 15-field form to one tap changed everything. Database quota management on free tiers is a real engineering problem. Caching and fallback strategies matter as much as core logic. AI vision models like Groq Llama-4-Scout can reliably classify civic infrastructure issues from photos — the accuracy surprised us. Building a three-layer security system taught us that no single check is enough — keyword filters miss edge cases, ML classifiers miss context, and LLMs miss volume. Layering all three makes the system robust. Designing for three different stakeholders on one platform requires careful UX separation without data duplication. WhatsApp as an input channel is massively underutilised — it reaches users that no website or app ever will.

What's next for AreaPulse

Advanced Government Dashboard — department-wise analytics, officer performance tracking, ward-level heatmaps, automated weekly reports with AI-generated summaries for municipal commissioners Weather-Aware Intelligence Expansion — extend XGBoost model to cover more weather patterns, integrate IMD alerts, and add disease risk zone flagging when sewage and water issues cluster during monsoon Civic Kiosk Hardware — rugged touchscreen kiosk installed outside ward offices replacing gov.in portals entirely for citizens without smartphones Predictive hotspot detection — AI identifies areas likely to develop issues before they're reported using historical patterns and seasonal trends Multilingual support — Hindi, Tamil, Bengali, Marathi voice and text input for true rural accessibility Integration with government APIs — direct connection to CPGRAMS, Swachhata, and state municipal portals for automatic official complaint filing Citizen reputation system — reward consistent reporters with verification badges and priority routing Offline-first mobile app — queue reports when there's no connectivity, sync automatically when back online Pan-India expansion — extend beyond Delhi's 36 areas to cover all Indian cities with configurable municipal norms per state

Share this project:

Updates