Offline AI assistant helping Botswana students navigate university admissions — no internet required.
# Tsela — Offline University Admissions Guidance for Botswana
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**
## Why
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).
## Setup
**Requirements:**
- Python 3.10+
- llama.cpp built with `llama-cli` available — either on your system `PATH`, or point to it via the `LLAMA_CLI_PATH` environment variable
**1. Clone the repo:**
```bash
git clone
github.com
cd Tsela
```
**2. Download the model weights:**
```bash
bash download_model.sh
```
This 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):**
```bash
export LLAMA_CLI_PATH=/path/to/llama-cli
```
**4. Run the GUI:**
```bash
python app.py
```
## Project Structure
```
Tsela/
├── 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
├── ben …