🚨 SIREN: Street-Level Flood Intelligence
More than half of all flood drownings happen in vehicles. Official warnings cover entire counties, usually in one or two languages, and rarely tell residents whether their specific street is passable. SIREN changes that by turning live environmental data into evidence-backed, street-level flood warnings delivered in English or Spanish via text and voice.
💡 What It Does
- Live Status Where You Are: Open the app and share your location. SIREN instantly pulls nearby NOAA river gauges, active National Weather Service (NWS) alerts, forecasts, and recent rain data. A versioned rules engine determines your precise status: Normal, Watch, Warning, Emergency, or Unknown (missing data never defaults to "safe").
- "How Deep Is It?": Snap a photo of floodwater. Gemini estimates the depth using reference objects like tires or curbs, returning a confidence score and depth range. Deterministic guardrails validate the output, triggering a strict do-not-drive rule for water depths of 12 inches or more.
- Ask SIREN: Voice or text queries are answered exclusively using cited NWS and Ready.gov safety guidance combined with current conditions. Anything else results in a safe refusal pointing to 911.
- Storm Replays: Judges can scan a QR code and receive live alerts on their personal phones as five real historical floods unfold:
- Hurricane Beryl (Houston)
- Hurricane Helene (Asheville)
- The 2023 Vermont Flood
- The 2022 Eastern Kentucky Flood
The 2024 San Diego Flash Flood
Total Traceability: Every alert reveals the exact rule version fired, source-linked gauge readings with timestamps, AI execution paths, transcripts, and individual delivery logs (Drafted $\rightarrow$ Generated $\rightarrow$ Delivered $\rightarrow$ Acknowledged). A "Re-run rule" button allows instant re-computation.
🛠️ How We Built It
- Rules Decide, AI Explains: A rigorous deterministic engine (
rules.yaml) evaluates official NOAA flood stages, river rise velocity, hourly rainfall, active NWS Flash Flood Warnings, verified photo depths, and data staleness. It uses hysteresis to prevent alert-flapping near thresholds. - Validated AI with Fallbacks: Gemini Flash handles translations, explanations, Q&A, and depth estimation via structured JSON. Code validators ensure numbers match source data, street names remain unchanged, and dangerous phrases suggesting water is safe to cross are completely blocked. If Gemini fails, SIREN falls back to Groq, then to deterministic templates.
- Multilingual Voice: ElevenLabs delivers clear audio alerts in English and Spanish with cached clips, backed by browser-level fallback voices and mandatory text transcripts.
- Robust Data Sources: Integrates NOAA National Water Prediction Service, USGS Water Data, NWS observations, Iowa Environmental Mesonet, and OpenStreetMap.
- Tech Stack: FastAPI backend (backed by 57 automated tests); React, TypeScript, and Vite frontend styled with Leaflet maps and Recharts; complete offline mode for reliable demos.
🧗 Challenges We Ran Into
- Messy Real Data: During Hurricane Helene and the Kentucky floods, river gauges went dark at peak flow. This proved why our core rule—"missing data is never safe"—was vital, helping us catch and fix bugs that would have otherwise stalled alerts mid-storm.
- Honest Timing: When benchmarked against official NWS radar-based warnings, SIREN's gauge-dependent warnings arrived slightly later. However, SIREN issued early Watches up to 39 minutes earlier in Houston and 101 minutes earlier in Kentucky, successfully pushing critical alerts to residents in their native language within 3 to 11 minutes.
- Feed Lags & Limits: Live gauge readings typically lag by 30–60 minutes, requiring strict staleness thresholds. Free-tier API and voice character quotas were successfully solved via intelligent response caching.
🏆 Accomplishments We're Proud Of
- Production-Ready Reliability: 57 automated tests covering rules engines, hysteresis, AI validators, and live demo flows.
- Photo Depth Validation: Tested against 22 openly licensed flood photos; Gemini's estimates fell inside the actual range 79% of the time with an average error of just 3.1 inches.
- Complete Accessibility: Fully compliant with shape/word severity indicators (never relying on color alone), full keyboard navigation, screen-reader support, and high-contrast modes.
🚀 What's Next for SIREN
- Real SMS and phone-call delivery integrations.
- Expanded multi-language support and persistent user preferences.
- Denser rain network integrations and radar rainfall analysis.
- Crowdsourced photo reports that mutually verify each other.
- Expansion to wildfire and air-quality monitoring using the same rules-first architecture.
Built With
- docker
- elevenlabs
- fastapi
- gemini
- google-ai-studio
- groq
- iowa-environmental-mesonet
- leaflet.js
- national-weather-service-api
- noaa
- nominatim
- openstreetmap
- osrm
- overpass-api
- pytest
- python
- react
- recharts
- render
- typescript
- usgs
- vercel
- vite
- web-speech-api
Log in or sign up for Devpost to join the conversation.