Offline agronomy assistant for the hardware Africa actually has — ADTC 2026 (Agriculture track)
# Shuka — offline agronomy assistant
**Website:
uthmannabeel.github.io
**Africa Deep Tech Challenge 2026 · Agriculture track.** *Shuka* is Hausa
for "to plant / to sow."
Nigeria's agricultural extension system is stretched to roughly one
extension worker per several thousand farmers, and the obvious fallback —
asking an AI assistant — fails exactly where farming happens: rural areas
with weak or unaffordable connectivity, on low-end hardware. Shuka is an
agronomy assistant that runs **entirely offline** on the hardware
cooperatives and agro-dealers actually own (the ADTC Standard Laptop: 8GB
RAM, integrated graphics, i5-class CPU). One offline laptop at a
cooperative serves a whole community.
Small language models make fluent, confident, and **dangerously wrong**
agronomists — our baseline runs had a bare 1B model recommending growing
cassava from seed and inventing fertiliser arithmetic. Shuka's answer is
architectural, not cosmetic: the model supplies *language*, a curated
corpus of real extension literature supplies the *facts*.
```
question → on-device embedding (MiniLM, 384d, quantized ONNX)
→ exact cosine search over indexed extension literature
(FAO / IITA / CABI-ASHC / IRRI — ~850 pages, license-verified)
→ top-4 passages + question → Llama 3.2 1B Instruct Q4_K_M (llama.cpp)
→ answer constrained to sources, with page-level citations
```
**Guardrail:** if no passage clears a similarity floor, the model is not
called at all — Shuka says it doesn't have sources and points the farmer to
their local extension office. Silence beats confident error when the cost
of being wrong is somebody's growing season.
## Quickstart
```bash
bash install.sh # checks Node 20+, installs deps, fetches the model (~0.8 GB), pre-caches
npm run serve # web app at
localhost
```
After `install.sh` completes, no network is used at all.
The web app presents each answer as a **manual-style answer sheet**: the
text cites its sources like a …