Shamwari AI is Nyuchi Africa’s open source initiative to build a localized AI model and platform purpose-built for the African continent.
# Shamwari AI
**Shamwari AI** is Nyuchi Africa's open source initiative to build a localized AI model and platform purpose-built for the African continent. The name "shamwari" means "friend" in Shona.
Shamwari is not trying to be GPT. It's the AI that actually works for Africa: small enough to run locally, smart enough to be useful, culturally grounded, and commercially sustainable.
## Two Core Pillars
**The Model** — A small, efficient language model (1B–7B parameters) designed for on-device inference across affordable hardware. Deep multilingual support for African languages starting with Shona and Ndebele, expanding across Southern and broader Africa.
**The Platform** — A full-stack AI platform with two web properties:
- **shamwari.ai** — Consumer-facing AI chat application
- **platform.shamwari.ai** — Developer and business portal (API keys, usage dashboards, billing, documentation)
## Tech Stack
| Layer | Technology | Deploys to |
|-------|-----------|------------|
| Frontend | Next.js 16, Tailwind CSS v4, shadcn/ui | Vercel |
| Monorepo | Turborepo + npm workspaces | — |
| Edge | Cloudflare Workers | Cloudflare |
| App Backend | Vercel Serverless (Route Handlers / Server Actions) | Vercel |
| AI Backend | Python (FastAPI) + Beanie ODM | Fly.io |
| Inference | Rust (GGUF/ONNX) | Fly.io |
| Database | MongoDB Atlas | — |
| Auth | Stytch (Mukoko B2C) | — |
| Storage | Cloudflare R2 | Cloudflare |
### Architecture Overview
```
┌─────────────┐
│ Clients │
└──────┬──────┘
│
┌──────▼──────┐
│ Cloudflare │ API gateway, rate limiting,
│ Workers │ API key validation, caching
└──────┬──────┘
┌─────┴─────┐
┌──────▼──────┐ ┌──▼───────────┐
│ Vercel │ │ Fly.io │
│ Serverless │ │ FastAPI │
│ (Next.js) │ │ (AI/ML) │
└──────┬──────┘ └──────┬───────┘
│ │
└───────┬───────┘
┌──────▼──────┐
│ MongoDB │
│ Atlas │
└─────────────┘
```
- **Cloudflare Workers** handle edge concerns only — they cannot make raw TCP conn …