Skip to content

aadisang/hand-wave

Repository files navigation

Hand Wave

Sign recognition for web and iOS, backed by a small Python inference service.

Apps

apps/web        TanStack Start frontend
apps/inference FastAPI inference service
apps/mobile    SwiftUI iOS client

Clients capture landmarks. The inference service loads the recognition model and decodes predictions.

Setup

Requirements: pnpm 10.33+, Node 22+, Python 3.11/3.12, uv, and moon.

cp .env.example .env
pnpm install
uv sync --project apps/inference

Set VITE_INFERENCE_URL in .env for local web builds.

Development

pnpm dev

Useful direct targets:

moon run web:dev
moon run inference:dev

Web runs on http://localhost:3000; inference docs run on http://localhost:8000/docs.

Inference

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.

Quality

pnpm check
pnpm check:affected
pnpm fix
pnpm test

License

MIT. See LICENSE.md.

Research Credits

About

Detecting sign language in real time with Meta AI glasses and a neural net

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Contributors