Open-source AI platform for Rwanda education
# SomaAI
SomaAI is an open-source, AI-powered learning platform designed to improve teaching and learning across Rwanda.
It helps **students** understand curriculum topics using official learning materials, and helps **teachers** generate quizzes, explanations, and teaching support faster and more accurately.
The platform is built around **Retrieval-Augmented Generation (RAG)** using official curriculum documents (REB materials).
---
## Project Status
🚧 **Active MVP Development**
- Core architecture is in place
- API contracts are being stabilized
- Mock LLM mode is supported (no API keys needed)
- Business logic modules are under active development
- Expect breaking changes until `v1.0`
Contributions are welcome. See CONTRIBUTING.md.
---
## Features
### Student Mode
- Grade + subject-aware question answering
- AI-generated explanations with citations (document + page numbers)
- Optional analogies and real-world examples
- Designed for self-study and exam preparation
### Teacher Mode
- Teacher-optimized defaults (analogies + real-world examples enabled by default)
- Quiz generation from curriculum topics
- Difficulty and number-of-questions control
- Download quizzes (questions only or with answer keys)
- Feedback system to improve answer quality
### Core Capabilities
- RAG-based retrieval from official curriculum documents
- Caching for repeated questions
- Multi-language support (English now, Kinyarwanda & French in progress)
---
## Tech Stack
| Component | Technology |
|---------|------------|
| Backend | FastAPI (Python 3.10+) |
| Database | PostgreSQL |
| Vector Store | Qdrant |
| Cache / Queue | Redis |
| Package Manager | uv |
| Migrations | Alembic |
---
## Quick Start
### Prerequisites
- Python 3.10+
- uv package manager
- Docker (recommended)
### Installation
```bash
git clone
github.com
cd SomaAI
cp .env.example .env
uv sync
```
### Mock LLM Mode (No API Keys Required)
- By default, SomaAI runs …