Web Tutoria is an AI learning system for Kenyan Sign Language (KSL).
# Web Tutoria
Web Tutoria is an AI learning system for Kenyan Sign Language (KSL).
The project is being built around three core flows:
- speech -> text -> KSL lesson or sign playback
- text -> speech + KSL lesson playback
- signer video or webcam -> text -> speech
- photo upload -> explanation -> matching KSL lesson
## Project structure
```text
backend/
api/ FastAPI backend
scripts/ dataset cleanup and analysis scripts
frontend/
web/ frontend app shell
KSL-Dataset/
Pose Data/ local pose and landmark dataset
```
## Prerequisites
Install these before setup:
- Python `3.11` or `3.12`
- Git
Frontend tooling can be added later when the web app is bootstrapped.
## Clone and setup
If you only want the backend running, use this full copy-paste flow:
```bash
git clone
cd web-tutoria
cd backend/api
bash setup-venv.sh
cp .env.example .env
bash start-dev.sh
```
Use that flow exactly if you are setting the project up for the first time.
After the backend starts, use backend/api/DEMO_CHECKLIST.md to verify every stable endpoint in the right order.
When you need concrete frontend-facing payload examples, use backend/api/DEMO_RESPONSES.md.
### 1. Clone the repository
```bash
git clone
cd web-tutoria
```
### 2. Create and activate the backend virtual environment
```bash
cd backend/api
bash setup-venv.sh
```
### 3. Install backend dependencies
This is handled by `setup-venv.sh`.
### 4. Create backend environment variables
```bash
cp .env.example .env
```
### 5. Start the FastAPI backend
Run this from `backend/api`:
```bash
bash start-dev.sh
```
This is the recommended startup command because it:
- uses `backend/api/.venv`
- runs from the correct backend folder
- reloads only when files in `app/` change
- avoids watching `.venv`
Then open:
- `
127.0.0.1`
- `
127.0.0.1`
Before testing the backend flows, you can quickly check readiness with:
```bash
curl
0.0.0.1 …