About the data
Per the hackathon’s transparency rules, every external API, dataset, and library this build depends on is listed here - nothing is a silent mock pretending to be a live feed.
Real current and forecast weather (rainfall, temperature, wind) for every seeded location.
Free, no API key. Hazard severity is computed from these real readings with documented, auditable rule-based thresholds - see the source code in lib/hazardRules.ts. This is not an AI guess.
Turns an already-classified hazard reading into a short, plain-language, action-first warning, and reasons about escalation when confirmation lags.
The original build spec called for the Anthropic API. This build substitutes Groq - disclosed here in full per the hackathon's data/tooling transparency rule. The AI layer never invents hazard facts; it only translates and reasons over data it's given.
The one real delivery channel in this build - recipients who have started the bot receive an actual message with tap-to-confirm buttons.
Every other recipient is a simulated SMS/USSD dispatch, clearly labeled 'delivery simulation' throughout the UI - never presented as a real message.
The live map - open-source rendering engine, free tile source, no vendor API key.
Restyled at runtime to Kestrel's paper/ink/ochre palette rather than the default basemap look.
All photography in this build - hero, section breaks, map backdrop.
Real, open-license editorial photography, not illustration or generated imagery. Full attribution in ATTRIBUTIONS.md.
The at-risk community is represented only as aggregate delivery and confirmation numbers. Simulated recipients are synthetic - generated names with no connection to real individuals - used only to make the aggregate numbers demoable at a realistic scale alongside the real Telegram channel.