Two-way sign language translator: Sign->Text recognition and Text->Sign teaching. React web + Flutter mobile, MediaPipe on-device. ASL first, Ethiopian Sign Language next.
# SignLang.
**Two-way sign language translator.** Sign → Text camera recognition and Text → Sign teaching mode. Entirely on-device (MediaPipe), private, free.
- **Web:** React 18 + TypeScript + Vite + Tailwind → Netlify
- **Mobile:** Flutter (Android/iOS)
- **Languages:** American Sign Language (ASL) first → Ethiopian Sign Language (EthSL) next
---
## Status
**Phase 0 complete** — repos, scaffolds, shared schema, Netlify config. No recognition code yet.
| Phase | Deliverable | Status |
|---|---|---|
| 0 | Foundation: repo, web scaffold, Flutter scaffold, shared schema | ✅ done |
| 1 | ASL alphabet Sign → Text (web) | ⏳ next |
| 2 | Text → Sign teaching mode (web) | todo |
| 3 | Words + dynamic signs + ONNX model | todo |
| 4 | Ethiopian Sign Language | todo |
| 5 | Flutter app feature parity | todo |
| 6 | Polish, PWA offline, stores | todo |
---
## Repo layout
```
SignLang/
├── SIGNLANG_MASTER.json ← master plan (source of truth)
├── docs/
│ ├── ARCHITECTURE.md ← technical architecture
│ └── DOCUMENTATION.md ← user-facing docs
├── web/ ← React + Vite + TS app (Netlify)
├── mobile/ ← Flutter app
├── shared/ ← signs.json dictionary + specs
└── training/ ← Python: dataset prep + model training
```
---
## Web — run it
```bash
cd web
npm install
npm run dev #
localhost
npm run build # → dist/
```
## Mobile — run it
> The `mobile/` folder contains the Dart app source. A Flutter SDK is required to generate the platform folders (`android/`, `ios/`):
>
> ```bash
> cd mobile
> flutter create . --platforms=android,ios
> flutter pub get
> flutter run
> ```
---
## Deploy (Netlify)
1. app.netlify.com → **Add new site → Import from Git** → pick `Kalabduke/SignLang`
2. Netlify reads `netlify.toml` (base = `web`, build = `npm run build`, publish = `dist`)
3. Done — every push to `main` auto-deploys
---
## Docs
- **Master plan:** `SIGNLANG_MASTER.json`
- **Architecture …