An autonomous, offline-first AI Business Operating System designed for African SMEs. Built for commodity hardware to handle inventory, sales, and credit ledgers entirely via local voice commands.
# OjaSuper Business Agent 🛒
An offline, voice-powered AI operating system designed for African SMEs. OjaSuper empowers local market shopkeepers to track sales, manage inventory, and calculate profits without requiring cloud APIs, internet access, or expensive hardware.
Built for the **Africa Deep Tech Challenge 2026** (Corporate / Enterprise Track).
## 🚀 Features
* **100% Offline AI:** Powered by local quantized models running comfortably on an 8GB RAM laptop.
* **Voice-First Data Entry:** Speak natural commands (e.g., *"I sold 10 bags of rice for 60,000 Naira each"*) via integrated `faster-whisper` STT.
* **Conversational Memory:** The AI remembers context, asks follow-up questions for missing data, and safely handles Yes/No confirmations.
* **Intelligent Fuzzy Matching:** Automatically corrects phonetic spelling mistakes based on your live inventory catalog.
* **Business Rules Engine:** Safely prevents selling below cost price, blocks negative inventory, and intercepts duplicate transaction entries.
## 🛠️ Technology Stack
* **Languages:** Python, JavaScript, HTML/CSS, SQL
* **AI Models:** Qwen-2.5-3B-Instruct (GGUF), Faster-Whisper (Tiny)
* **Frameworks:** FastAPI, SQLAlchemy, llama-cpp-python
* **Environment Manager:** `uv`
## ⚙️ Quick Start (Windows)
1. Clone the repository to your local machine.
2. Ensure you have the required models downloaded in the `models/` directory:
* `models/qwen2.5B/qwen2.5-3b-instruct-q4_k_m.gguf`
* `models/whisper-tiny/`
3. Double-click the included `start.bat` file.
* *This will automatically start the FastAPI server and open the OjaSuper dashboard in your web browser.*
## 📊 ADTC Local Profiling
To generate the Gate 1 telemetry report (`submission.json`):
```bash
# Install the profiler
uv pip install "git+
github.com"
# Run the official benchmark
adtc-profiler run --submission . --mode participant --output submission.json