Hyper-local early warning for East Africa: AI-translated hazard alerts from 13 sources, delivered via USSD, WhatsApp, and a spatial PWA. Built for IGAD Hackathon 2026.
# HALI
**Hyper-local early warning for East Africa.** HALI ingests 13 external hazard
and reference sources, translates every alert into 10 languages at a Grade 5
reading level with a multi-model AI ensemble, and delivers it over three
channels — USSD, WhatsApp, and an offline-capable PWA — so reaching a herder
with no smartphone and no data bundle costs nothing extra.
Built for the IGAD Hackathon 2026.
| | |
|---|---|
| **Live app (PWA)** |
frontend-production-ba31.up… |
| **Landing page** |
landing-production-d6be4.up… |
| **API** |
backend-production-a6cf.up.… |
| **Demo video** |
youtu.be |
### Project policies
- CONTRIBUTING.md · SECURITY.md · CODE_OF_CONDUCT.md
`apps/landing/src/data/site.ts` is the single source of truth for every count in
this README and on the landing page. Each entry there cites the file it came
from, and the totals are computed from the arrays rather than typed in.
## Resolved Tooling Versions
| Tool | Version |
| --- | --- |
| Node | 22.19.0 |
| npm | 11.6.2 |
| Python local | 3.12.3 |
| Python production target | 3.13.x |
| Poetry | 2.4.1 |
| Nx / @nx/react / @nx/vite / @nx/vitest | 23.0.1 |
| @nxlv/python | 22.2.1 |
| React | 19.2.7 |
| Vite | 8.1.3 |
| FastAPI | 0.139.0 |
| Uvicorn | 0.49.0 |
| asyncpg | 0.31.0 |
| anthropic | 0.116.0 |
| Alembic | 1.18.5 |
Python 3.13 was requested but is not installed on this machine, so local verification used Python 3.12.3 with code constrained to `>=3.12,<3.14`.
## Features
**10 languages** — `sw` Swahili, `so` Somali, `am` Amharic, `om` Oromo, `ar` Arabic, `en` English, `fr` French, `ti` Tigrinya, `lg` Luganda, `aa` Afar. Tigrinya, Luganda, and Afar are marked low-resource; the backend may serve English where model quality is weak rather than publish a bad translation.
**7 livelihoods** — `farmer`, `pastoralist`, `agropastoralist`, `fisherfolk`, `urban`, `trader`, `displaced`.
**10 hazard types** — `flood …