Pastoralist drought intelligence for Isiolo County, Kenya — satellite + AI + SMS/USSD/voice, low-bandwidth by design.
# ArdaLink
**Pastoralist intelligence platform for the drylands of Isiolo County, Kenya.**
ArdaLink gives pastoralist communities in Isiolo County a low-bandwidth, multi-channel
early-warning and decision-support system for drought stress. Herders reach it through
USSD (`*123*8#`), SMS, browser voice, or an operator dashboard. Three independent services
ingest open satellite + climate data, run biophysical models, and surface actionable
summaries scoped to a single ward (Bulla Pesa, Garbatulla, Kinna — with the
Merti Sub-County operator also live as a tenant) — with strict tenant
isolation enforced at the database boundary.
View on GitHub ↗
---
## What's in this repo
This is the **public monorepo** for ArdaLink. It contains three independently-deployable
services plus a marketing site, organised as siblings so each can be lifted out and
deployed on its own.
| Path | Language | Runtime | One-line purpose |
|---|---|---|---|
| `ardalink-engine/` | Python 3.12 | FastAPI / uvicorn | Biophysical compute — satellite + climate ingestion, energy / water / herd scoring, journey planning. |
| `ardalink-api/` | TypeScript | Node 24 | Multi-tenant HTTP boundary — auth, intelligence cycle, ground-truth capture, voice/SMS/USSD routing. |
| `ardalink-web/` | TypeScript | React 19 / Vite 7 | Operator dashboard + public browser Talk app + `@workspace/api-client-react` typed hooks. |
| `ardalink-marketing/` | HTML/CSS/JS | static | Conference posters and the public showcase site. |
| `Arda-link-AI-Docs/` | Markdown | — | Long-form narrative documentation (8 deep-dive guides). |
Each service has its own README, lockfile, Dockerfile, and CI workflow.
---
## Architecture at a glance
Read `STATUS.md` for the strategic view (current vs production, vendor
matrix, roadmap) and `Arda-link-AI-Docs/architecture.md`
for the C4-style component diagrams.
Five-line summary for anyone in a hurry:
1. **Three services.** The API is the only one that touches the database directly. …