Tsela is an offline, on-device AI assistant that helps Botswana students navigate university admissions — points requirements, fees, and deadlines — with zero internet dependency at inference time. Built for the Africa Deep Tech Challenge 2026.
Full technical writeup, design decisions, and benchmark results: REPORT.md
Reliable admissions information for Botswana's universities is scattered and often unreliable — and not every student researching their options has consistent internet access. Tsela runs entirely offline once set up, using a small quantized language model backed by a verified knowledge base covering six institutions: University of Botswana (UB), BIUST, BA ISAGO, Botho University, Limkokwing University of Creative Technology, and the Botswana School of Business Sciences (formerly BAC).
Requirements:
- Python 3.10+
- llama.cpp built with
llama-cliavailable — either on your systemPATH, or point to it via theLLAMA_CLI_PATHenvironment variable
1. Clone the repo:
git clone https://github.com/mulaxprime/Tsela.git
cd Tsela2. Download the model weights:
bash download_model.shThis pulls the GGUF model file (~1.1 GB) from a public Hugging Face repo into model/. Safe to re-run — it skips the download if the file already exists.
3. Point to your llama-cli binary (if it's not on your system PATH):
export LLAMA_CLI_PATH=/path/to/llama-cli4. Run the GUI:
python app.pyTsela/
├── app.py # Dark-theme tkinter GUI
├── run_model.py # Model inference + points-lookup bypass logic
├── knowledge_base.py # Verified university admissions data
├── download_model.sh # Downloads model weights (required for ADTC submission)
├── metadata.json # ADTC submission metadata
├── REPORT.md # Full technical writeup
├── benchmark.py # Local latency/RAM/throughput benchmarking script
└── benchmark_results.csv # Sample benchmark output
See the "Known Limitations" section in REPORT.md for a full, honest accounting — including current gaps in hallucination protection outside points-lookup queries, incomplete data for two institutions, and English-only language support.
MIT — see LICENSE.