Sign recognition for web and iOS, backed by a small Python inference service.
apps/web TanStack Start frontend
apps/inference FastAPI inference service
apps/mobile SwiftUI iOS clientClients capture landmarks. The inference service loads the recognition model and decodes predictions.
Requirements: pnpm 10.33+, Node 22+, Python 3.11/3.12, uv, and moon.
cp .env.example .env
pnpm install
uv sync --project apps/inferenceSet VITE_INFERENCE_URL in .env for local web builds.
pnpm devUseful direct targets:
moon run web:dev
moon run inference:devWeb runs on http://localhost:3000; inference docs run on
http://localhost:8000/docs.
The API accepts client-owned landmark windows:
| Method | Path | Use |
|---|---|---|
POST |
/v1/predict |
Decode one landmark window |
POST |
/v1/recognize |
Decode and smooth streaming output |
The local checkpoint is apps/inference/models/best.ckpt. It must match the
model class, config, vocab order, landmark layout, and preprocessing code.
pnpm check
pnpm check:affected
pnpm fix
pnpm testMIT. See LICENSE.md.
- MiCT-RANet for ASL Fingerspelling, a prior ASL fingerspelling reference by Florent Mahoudeau.
- A Two-Stream Neural Network for Pose-Based Handshape Recognition in American Sign Language, the MiCT-RANet paper.
- Mixed 3D/2D Convolutional Tube for Human Action Recognition, the MiCT architecture paper.
- Fingerspelling Recognition in the Wild with Iterative Visual Attention, the ChicagoFSWild+ paper.
- FSBoard: Over 3 million characters of ASL fingerspelling collected via smartphones, a large mobile fingerspelling dataset paper.