<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Divyam Kumar</title>
    <description>The latest articles on DEV Community by Divyam Kumar (@divyamchoudhary1604).</description>
    <link>https://dev.to/divyamchoudhary1604</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4154172%2Fb7e62754-485f-414d-b0fd-c1d31f5e1ab1.png</url>
      <title>DEV Community: Divyam Kumar</title>
      <link>https://dev.to/divyamchoudhary1604</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/divyamchoudhary1604"/>
    <language>en</language>
    <item>
      <title>CrisisLens: Building a Personal Emergency Intelligence Radar for My Friend Arjun</title>
      <dc:creator>Divyam Kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 18:21:06 +0000</pubDate>
      <link>https://dev.to/divyamchoudhary1604/crisislens-building-a-personal-emergency-intelligence-radar-for-my-friend-arjun-5i0</link>
      <guid>https://dev.to/divyamchoudhary1604/crisislens-building-a-personal-emergency-intelligence-radar-for-my-friend-arjun-5i0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  🔍 CrisisLens: Personal Emergency Intelligence Platform
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;Transforming chaotic, conflicting disaster information into clear, verified, and personalized action.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Who I Built It For
&lt;/h3&gt;

&lt;p&gt;My friend &lt;strong&gt;Arjun&lt;/strong&gt; is a university student living in Mohali (Sector 70, Punjab, India) who commutes daily along Airport Road to Chandigarh University.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;During heavy monsoon storms, Arjun faces extreme information overload:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Panic in group chats:&lt;/strong&gt; Viral WhatsApp forwards claim dams have collapsed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conflicting travel alerts:&lt;/strong&gt; Neighbors report Airport Road is open, while police issue an emergency closure notice 15 minutes later.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vague weather bulletins:&lt;/strong&gt; Regional forecasts lack hyper-local street information.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Arjun is left with three urgent questions: &lt;em&gt;Is my route flooded? Which claims are verified? What should I do right now?&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Solution: CrisisLens
&lt;/h3&gt;

&lt;p&gt;CrisisLens synthesizes scattered news, official advisories, and community dispatches into a single, trustworthy intelligence brief tailored to Arjun's saved locations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Four-Tier Trust Model:&lt;/strong&gt; Classifies every claim as &lt;strong&gt;CONFIRMED&lt;/strong&gt; (green), &lt;strong&gt;REPORTED&lt;/strong&gt; (amber), &lt;strong&gt;UNCERTAIN&lt;/strong&gt; (gray), or &lt;strong&gt;CONFLICTING&lt;/strong&gt; (red).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contradiction Detection:&lt;/strong&gt; Flags conflicting reports and uses timestamps to determine which alert takes precedence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalized Impact:&lt;/strong&gt; Evaluates hazards against Arjun's &lt;strong&gt;Home&lt;/strong&gt; (Sector 70), &lt;strong&gt;College&lt;/strong&gt;, and &lt;strong&gt;Commute&lt;/strong&gt;, suggesting safe reroutes (e.g., Kharar bypass).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hands-Free Audio:&lt;/strong&gt; Broadcasts life-critical summaries via voice for drivers or low-visibility situations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interactive Map:&lt;/strong&gt; Displays flood choke points, hazard radii, and safe detours on an interactive Leaflet map.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Scenario Engine:&lt;/strong&gt; Ready-to-demo scenarios for Mohali Floods (Arjun), Delhi Toxic Smog (Priya), and Himalayan Landslides (Vikram).&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quick Local Demo:&lt;/strong&gt; The project includes a zero-dependency demo engine that runs out of the box with simulated multi-disaster scenarios (no API keys required):&lt;/li&gt;
&lt;/ul&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
  git clone https://github.com/divyamchoudhary1604/crisislens.git
  cd crisislens
  npm run dev

## Code

&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/divyamchoudhary1604" rel="noopener noreferrer"&gt;
        divyamchoudhary1604
      &lt;/a&gt; / &lt;a href="https://github.com/divyamchoudhary1604/crisislens" rel="noopener noreferrer"&gt;
        crisislens
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      CrisisLens - Personal Emergency Information Intelligence Platform. Built for Hacktoberfest 2026.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🔍 CrisisLens&lt;/h1&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“From scattered crisis information to clear, trustworthy context and action.”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Built for the &lt;strong&gt;Hacktoberfest 2026 — DEV “Build for a Friend” Challenge&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://react.dev/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/60a7485cd52ffda4debf069107d3fa502892166a27794321b79f22a3723e51a5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f52656163742d31392d3631646166623f6c6f676f3d7265616374266c6f676f436f6c6f723d626c61636b" alt="React 19"&gt;&lt;/a&gt;
&lt;a href="https://nodejs.org/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/263ac0f4c45dc084ff7cbfbeb3986dd8c9acba41a993e06f1a6ea6495030669f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4e6f64652e6a732d457870726573732d3333393933333f6c6f676f3d6e6f64652e6a73266c6f676f436f6c6f723d7768697465" alt="Node.js"&gt;&lt;/a&gt;
&lt;a href="https://www.mongodb.com/atlas" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/6dca90d96b485da0fc5f001af42f3922a35f4ac5be6176799e068b8450f63ff9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6f6e676f44422d41746c61732d3437413234383f6c6f676f3d6d6f6e676f6462266c6f676f436f6c6f723d7768697465" alt="MongoDB Atlas"&gt;&lt;/a&gt;
&lt;a href="https://deepmind.google/technologies/gemma/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/8b3f0f0dd73639ee9ac105722ba4ad64a2823543c175d32b780e5e6ac281e9f2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f41492d47656d6d615f322d3432383546343f6c6f676f3d676f6f676c65266c6f676f436f6c6f723d7768697465" alt="Gemma AI"&gt;&lt;/a&gt;
&lt;a href="https://leafletjs.com/" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/38f45843d7b2ca46d61422800c79228abffbd1541de385cfe6691d80cea3c744/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4d6170732d4c6561666c65742d3139393930303f6c6f676f3d6c6561666c6574266c6f676f436f6c6f723d7768697465" alt="Leaflet"&gt;&lt;/a&gt;
&lt;a href="https://opensource.org/licenses/MIT" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667" alt="License: MIT"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎯 1. The Story: Built for a Friend&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Meet Arjun&lt;/h3&gt;
&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Arjun&lt;/strong&gt; is a college student living in &lt;strong&gt;Mohali Sector 70 (Punjab, India)&lt;/strong&gt; who commutes daily to &lt;strong&gt;Chandigarh University&lt;/strong&gt; via Airport Road.&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;The Real Problem&lt;/h3&gt;

&lt;/div&gt;

&lt;p&gt;During heavy monsoon storms and flash flooding, Arjun faces a flood of conflicting, unstructured data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WhatsApp groups&lt;/strong&gt; circulate frightening forwards claiming dams have collapsed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local news portals&lt;/strong&gt; publish sensational headlines with outdated timestamps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IMD weather bulletins&lt;/strong&gt; issue broad regional warnings lacking localized guidance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Neighbors&lt;/strong&gt; claim Airport Road is open; meanwhile, district police quietly tweet an emergency closure.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Arjun is left paralyzed with three critical questions:&lt;/p&gt;


&lt;ol&gt;

&lt;li&gt;&lt;em&gt;“Does this storm directly affect my home or college route right now?”&lt;/em&gt;&lt;/li&gt;

&lt;li&gt;&lt;em&gt;“Which claims are officially verified versus unconfirmed rumors?”&lt;/em&gt;&lt;/li&gt;

&lt;li&gt;

&lt;em&gt;“What specific action should I take&lt;/em&gt;…&lt;/li&gt;

&lt;/ol&gt;&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/divyamchoudhary1604/crisislens" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React 19, Vite, Leaflet, Responsive Dark Glassmorphism CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js, Express, REST APIs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; MongoDB Atlas (with automatic in-memory fallback)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; Google Gemma 2 (&lt;code&gt;google/gemma-2-9b-it&lt;/code&gt;) via OpenRouter, Groq, or local Ollama&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio &amp;amp; Search:&lt;/strong&gt; ElevenLabs TTS and SerpApi Google News&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;CrisisLens uses an open-weight AI pipeline powered by &lt;strong&gt;Google Gemma 2&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Extraction:&lt;/strong&gt; Parses raw bulletins and community posts into structured JSON entities and coordinates.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conflict Resolution:&lt;/strong&gt; Cross-examines sources, identifying contradictions and prioritizing newer authoritative directives over older rumors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personalization:&lt;/strong&gt; Cross-references active hazard zones with user-saved waypoints to generate specific safety actions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible Deployment:&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hosted:&lt;/strong&gt; Low-latency inference via Groq or OpenRouter.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local / Edge:&lt;/strong&gt; 100% offline inference with &lt;strong&gt;Ollama&lt;/strong&gt; (&lt;code&gt;gemma2:9b&lt;/code&gt;), ensuring the app works even when disaster strikes local internet infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Demo Mode:&lt;/strong&gt; Built-in zero-dependency fallback so anyone can clone and test instantly without API keys.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;In emergency response, open innovation is essential:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Offline Survival:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero-Hallucination Auditability:&lt;/strong&gt; Closed models change without notice. In life-or-death situations, prompts, outputs, and trust classifications must be transparent, verifiable, and auditable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Equitable Access:&lt;/strong&gt; Community responders and students cannot be locked out by subscription paywalls, API rate limits, or sudden platform bans during a crisis.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;
  
  
  🤖 AI-Assisted Development
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;The final application integrates the Gemma-powered synthesis pipeline, Leaflet GIS mapping, MongoDB Atlas persistence, Express APIs, and Render deployment configuration.&lt;/p&gt;
&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🌟 Best Use of Gemma ($200):&lt;/strong&gt; Gemma 2 (&lt;code&gt;google/gemma-2-9b-it&lt;/code&gt;) powers the 10-step synthesis pipeline, 4-tier confidence classification, contradiction detection, and grounded safety recommendations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌟 Best Use of Render ($200):&lt;/strong&gt; Full Infrastructure-as-Code blueprint (&lt;code&gt;render.yaml&lt;/code&gt;) deploying the Express backend and React 19 static client in a single click.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌟 Best Use of MongoDB Atlas ($100):&lt;/strong&gt; Cloud persistence for multi-source alerts, citizen hazard reports (&lt;code&gt;POST /api/reports&lt;/code&gt;), audit logs, and user location profiles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌟 Best Use of ElevenLabs ($100):&lt;/strong&gt; High-clarity emergency voice synthesis (&lt;code&gt;eleven_multilingual_v2&lt;/code&gt;) for hands-free audio briefings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌟 Best Use of SerpApi ($100):&lt;/strong&gt; Real-time Google News search integration to ingest breaking advisories dynamically.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  💬 Let’s Discuss!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How does your local community handle emergency communications during floods, storms, or severe weather?&lt;/li&gt;
&lt;li&gt;Have you experimented with running open-weight models like &lt;strong&gt;Gemma 2&lt;/strong&gt; locally with Ollama for mission-critical or offline applications?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Drop your thoughts and questions in the comments below!&lt;br&gt;
&lt;/p&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
