Offline-first CPU maths & science tutor for African learners with disabilities — Africa Deep Tech Challenge 2026 (math_scientific_reasoning)
# SMART TUTOR
**An offline-first mathematics and science tutor for African learners, running
entirely on a CPU laptop.**
Submission to the **Africa Deep Tech Challenge 2026 — The Laptop LLM
Challenge**, domain `math_scientific_reasoning`.
No internet. No GPU. No API key. A GGUF file, llama.cpp, and 8 GB of RAM.
---
## Why
Mathematics and science teaching in much of Africa runs into the same wall from
several directions at once: intermittent connectivity, intermittent power,
laptops that are five to ten years old, and almost nothing built for learners
with disabilities. A cloud tutor solves none of those. A tutor that fits in
1.1 GB of RAM, answers with no network, and renders its answers for a screen
reader solves all four.
---
## Quick start
```bash
git clone && cd smart-tutor-adtc-2026
bash scripts/setup.sh # python env + llama.cpp (prebuilt or from source)
bash download_model.sh # fetch the GGUF weights (~940 MB)
export PATH="$PWD/vendor/llama.cpp:$PATH"
smart-tutor ask "Solve the equation 3x + 7 = 22"
```
Expected output:
```text
To solve the equation 3x + 7 = 22, we follow these steps:
1. Subtract 7 from both sides: 3x = 15
2. Divide both sides by 3: x = 5
3. Check: 3(5) + 7 = 15 + 7 = 22 ✓
FINAL ANSWER: 5
```
---
## Measured performance
**SMART TUTOR** (fine-tuned) Q4_K_M, `llama-bench -p 512 -n 128 -ngl 0 -t 6`
(the exact invocation the ADTC profiler uses), 5 repetitions, on an AMD Ryzen 5
5600U:
| Metric | Measured | ADTC component |
|---|---|---|
| Generation throughput | **17.11 ± 0.44 tok/s** | `S_perf` **100.0** |
| Prompt processing | 83.28 tok/s (mean) | — |
| Peak RSS | **1700.9 MB** | `S_eff` **76.27** |
| Steady-state RSS | 1654.9 MB | — |
| Thermal throttling | none observed | no penalty |
| Held-out accuracy | **29/30 (96.7%)** | — |
| Model file | 940.4 MB, 1.54 B params | — |
The ADTC profiler's own independent measurement of the same artifact agrees
closely: 17.39 tok/s, 1706.9 MB peak RSS, `"measure …