-
-
img1 — Citizen Portal report form with live camera, GPS lock, flood classification selected, and submit button.
-
img2 — Completed flood report with uploaded photo, geotagged coordinates, and situation brief filled in.
-
img3 — AI Hazard Assessment result showing HIGH severity with bilingual English and Tamil broadcast directives.
-
img4 — My Reports feed displaying submitted incidents with CRITICAL badges, GPS coordinates, and audio alerts.
-
img5 — Anti-Panic Intelligence (Verify tab) for submitting rumors to be AI cross-referenced against ground truth.
-
img6 — Full Government Command Dashboard with status bar, live weather, satellite map, and incident cards.
-
img7 — AI Commander output with CODE RED status, priority zones, and tactical resource deployment plan.
-
img8 — AURA Intel explainable AI view showing per-report signal intelligence and confidence scores.
-
img9 — AI forecast output with explainable reasoning, high-risk zones, and evacuation routes for Pune.
-
img10 - AI Generated Forecast output
-
-
CivicLens — AI-Powered Disaster Intelligence Platform
CivicLens is an AI-powered disaster intelligence platform delivering verified, real-time insights to authorities for faster response, smarter resource allocation, and coordinated crisis management.
Inspiration
India experiences recurring floods, cyclones, landslides, and urban disasters. Despite advances in forecasting, there is still a major gap in ground-level, real-time intelligence. During crises, citizens post images and messages online, but authorities struggle to verify and structure this information quickly.
We were inspired by a simple idea:
What if every smartphone could become a verified disaster sensor?
CivicLens was built to bridge the gap between citizens on the ground and command centers coordinating response efforts.
What it does
CivicLens connects citizens and authorities through a dual-interface system:
For Citizens:
- Submit geotagged photos with GPS watermarks.
- Record voice SOS messages.
- Receive instant AI-based hazard assessment.
- Work in offline mode when networks fail.
- Track report status in real time.
For Authorities:
- View incidents on a live satellite map with heatmaps.
- Use AI-generated severity classification and confidence scores.
- Automatically crowd-verify incidents using GPS clustering.
- Run predictive disaster simulations.
- Optimize resources using severity-weighted allocation models:
[ \text{Rescue Teams} = 3C + W ]
[ \text{Ambulances} = 2C + W ]
Where:
- ( C ) = Critical reports
- ( W ) = Warning reports
This enables proportional, data-driven response instead of manual estimation.
How we built it
We designed CivicLens as a modern, scalable web platform:
- Frontend: Next.js 16 + TypeScript + Tailwind CSS
- Backend: FastAPI (Python, asynchronous architecture)
- AI Engine: Google Gemini 2.5 Flash (multi-modal image + text analysis)
- Maps: Leaflet.js with dark satellite tiles
- External APIs: Weather, seismic activity, air quality, and TTS
Data Flow
- Citizen submits image + GPS + description.
- Backend processes the multipart form.
- Gemini analyzes image and text simultaneously.
- Structured JSON assessment is returned.
- Crowd verification runs using the Haversine formula:
[ d = 2R \arcsin \left( \sqrt{ \sin^2\left(\frac{\Delta \phi}{2}\right) + \cos(\phi_1)\cos(\phi_2)\sin^2\left(\frac{\Delta \lambda}{2}\right)} \right) ]
- Dashboard updates in near real-time.
We also implemented:
- Offline queueing with auto-sync.
- GPS watermark burned directly into image pixels.
- Human-in-the-loop override controls.
Challenges we ran into
1. Structuring AI Output
Ensuring reliable, structured JSON from a multi-modal AI model required careful prompt engineering and validation layers.
2. Offline Sync Reliability
Handling network dropouts without duplicating reports or losing data required robust local caching logic.
3. Crowd Verification Calibration
Selecting the correct clustering radius was critical. We tested multiple thresholds before settling on 5 km to balance precision and relevance.
4. Performance Under Live Feeds
Managing multiple real-time API calls while keeping the dashboard responsive required asynchronous backend design and optimized polling intervals.
5. Balancing Automation and Control
Authorities must trust the system. We ensured transparency with confidence scores and reasoning text, along with manual override capabilities.
Accomplishments that we're proud of
- Successfully implemented multi-modal AI assessment in real time.
- Built a working offline-first architecture.
- Designed an automatic crowd verification algorithm.
- Integrated 6 external data sources into one unified dashboard.
- Achieved structured explainable AI outputs with confidence scoring.
- Created a dual-interface platform usable by both citizens and authorities.
Most importantly, we built something that feels operational — not just conceptual.
What we learned
- Verification is more important than volume.
- Explainable AI builds trust in high-stakes systems.
- Offline capability is not optional in disaster tech.
- Simple mathematical models can significantly improve resource planning.
- System design for crisis response must prioritize clarity over complexity.
We also learned that technology alone is not enough — governance and human oversight are essential.
What's next for CivicLens
- Integrate with municipal disaster management cells for pilot deployments.
- Add IoT sensor integration (river gauges, rainfall sensors).
- Improve predictive modeling using historical disaster datasets.
- Expand language support for regional accessibility.
- Develop a secure authentication layer for government operators.
- Optimize mobile UI for ultra-low bandwidth environments.
Long term, we envision CivicLens as a national-scale disaster intelligence infrastructure — connecting citizens, AI systems, and authorities into one coordinated emergency response network.
Built With
- css
- elevenlabs
- fastapi
- flash
- gemini
- leaflet.js
- nextjs
- openweathermap
- pydantic
- python
- react
- tailwind
- typescript
- usgs
- uvicorn
- waqi

Log in or sign up for Devpost to join the conversation.