This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
π CrisisLens: Personal Emergency Intelligence Platform
Transforming chaotic, conflicting disaster information into clear, verified, and personalized action.
What I Built
Who I Built It For
My friend Arjun is a university student living in Mohali (Sector 70, Punjab, India) who commutes daily along Airport Road to Chandigarh University.
The Problem
During heavy monsoon storms, Arjun faces extreme information overload:
- Panic in group chats: Viral WhatsApp forwards claim dams have collapsed.
- Conflicting travel alerts: Neighbors report Airport Road is open, while police issue an emergency closure notice 15 minutes later.
- Vague weather bulletins: Regional forecasts lack hyper-local street information.
Arjun is left with three urgent questions: Is my route flooded? Which claims are verified? What should I do right now?
The Solution: CrisisLens
CrisisLens synthesizes scattered news, official advisories, and community dispatches into a single, trustworthy intelligence brief tailored to Arjun's saved locations:
- Four-Tier Trust Model: Classifies every claim as CONFIRMED (green), REPORTED (amber), UNCERTAIN (gray), or CONFLICTING (red).
- Contradiction Detection: Flags conflicting reports and uses timestamps to determine which alert takes precedence.
- Personalized Impact: Evaluates hazards against Arjun's Home (Sector 70), College, and Commute, suggesting safe reroutes (e.g., Kharar bypass).
- Hands-Free Audio: Broadcasts life-critical summaries via voice for drivers or low-visibility situations.
- Interactive Map: Displays flood choke points, hazard radii, and safe detours on an interactive Leaflet map.
- Multi-Scenario Engine: Ready-to-demo scenarios for Mohali Floods (Arjun), Delhi Toxic Smog (Priya), and Himalayan Landslides (Vikram).
Demo
- Quick Local Demo: The project includes a zero-dependency demo engine that runs out of the box with simulated multi-disaster scenarios (no API keys required):
bash
git clone https://github.com/divyamchoudhary1604/crisislens.git
cd crisislens
npm run dev
## Code
divyamchoudhary1604
/
crisislens
CrisisLens - Personal Emergency Information Intelligence Platform. Built for Hacktoberfest 2026.
π CrisisLens
βFrom scattered crisis information to clear, trustworthy context and action.β
Built for the Hacktoberfest 2026 β DEV βBuild for a Friendβ Challenge.
π― 1. The Story: Built for a Friend
Meet Arjun
Arjun is a college student living in Mohali Sector 70 (Punjab, India) who commutes daily to Chandigarh University via Airport Road.
The Real Problem
During heavy monsoon storms and flash flooding, Arjun faces a flood of conflicting, unstructured data:
-
WhatsApp groups circulate frightening forwards claiming dams have collapsed.
-
Local news portals publish sensational headlines with outdated timestamps.
-
IMD weather bulletins issue broad regional warnings lacking localized guidance.
-
Neighbors claim Airport Road is open; meanwhile, district police quietly tweet an emergency closure.
Arjun is left paralyzed with three critical questions:
- βDoes this storm directly affect my home or college route right now?β
- βWhich claims are officially verified versus unconfirmed rumors?β
-
βWhat specific action should I takeβ¦
-
Frontend: React 19, Vite, Leaflet, Responsive Dark Glassmorphism CSS
-
Backend: Node.js, Express, REST APIs
-
Database: MongoDB Atlas (with automatic in-memory fallback)
-
AI: Google Gemma 2 (
google/gemma-2-9b-it) via OpenRouter, Groq, or local Ollama
-
Audio & Search: ElevenLabs TTS and SerpApi Google News
How I Built It
CrisisLens uses an open-weight AI pipeline powered by Google Gemma 2:
-
Extraction: Parses raw bulletins and community posts into structured JSON entities and coordinates.
-
Conflict Resolution: Cross-examines sources, identifying contradictions and prioritizing newer authoritative directives over older rumors.
-
Personalization: Cross-references active hazard zones with user-saved waypoints to generate specific safety actions.
-
Flexible Deployment:
-
Hosted: Low-latency inference via Groq or OpenRouter.
-
Local / Edge: 100% offline inference with Ollama (
gemma2:9b), ensuring the app works even when disaster strikes local internet infrastructure.
-
Demo Mode: Built-in zero-dependency fallback so anyone can clone and test instantly without API keys.
Why Does Open Innovation Matter?
In emergency response, open innovation is essential:
-
Offline Survival: When natural disasters sever undersea cables and cell towers, closed-API models fail. Open-weight models like Gemma run locally on laptops, rescue vehicles, and emergency field servers.
-
Zero-Hallucination Auditability: Closed models change without notice. In life-or-death situations, prompts, outputs, and trust classifications must be transparent, verifiable, and auditable.
-
Equitable Access: Community responders and students cannot be locked out by subscription paywalls, API rate limits, or sudden platform bans during a crisis.
π€ AI-Assisted Development
CrisisLens was built collaboratively with an AI pair-programming agent. AI assistance was used throughout the development process for architecture, implementation, debugging, API integration, UI improvements, and documentation.
The final application integrates the Gemma-powered synthesis pipeline, Leaflet GIS mapping, MongoDB Atlas persistence, Express APIs, and Render deployment configuration.
Prize Categories
-
π Best Use of Gemma ($200): Gemma 2 (
google/gemma-2-9b-it) powers the 10-step synthesis pipeline, 4-tier confidence classification, contradiction detection, and grounded safety recommendations.
-
π Best Use of Render ($200): Full Infrastructure-as-Code blueprint (
render.yaml) deploying the Express backend and React 19 static client in a single click.
-
π Best Use of MongoDB Atlas ($100): Cloud persistence for multi-source alerts, citizen hazard reports (
POST /api/reports), audit logs, and user location profiles.
-
π Best Use of ElevenLabs ($100): High-clarity emergency voice synthesis (
eleven_multilingual_v2) for hands-free audio briefings.
-
π Best Use of SerpApi ($100): Real-time Google News search integration to ingest breaking advisories dynamically.
π¬ Letβs Discuss!
- How does your local community handle emergency communications during floods, storms, or severe weather?
- Have you experimented with running open-weight models like Gemma 2 locally with Ollama for mission-critical or offline applications?
Drop your thoughts and questions in the comments below!
Top comments (0)