How harsh3338m/anvaya works
Anvaya is a browser-based, offline-capable sign-recognition app, supported by an offline data-collection and model-training workflow. The main user path is webcam input through hand tracking and sequence inference to recognized text, session history, and optional speech. Runtime details are shown in sampled source; the page structure and training handoffs are supported by the README. Some subsystem links are documented rather than verified in unsampled page files.
Main entry points: app.js Inference and debounce · capture_sequences.py Sequence capture · index.html Landing page · studio.html Gesture Studio
Components 17
Studio pages
- Landing page
web_app/index.html - Gesture Studio
web_app/studio.html
Browser recognition
- Camera capture
web_app/app.js - Hand tracking
web_app/app.js - Frame vectors
web_app/app.js - Inference and debounce
web_app/app.js - Browser model
web_app/model - Translation text
web_app/app.js - Session history
web_app/session-log.js - Speech and controls
web_app/control.js
Offline model workflow
- Dataset preprocessing
model_training/preprocess.py - CNN training
model_training/train_cnn.py - TensorFlow.js export
model_training/convert_tfjs.py
Data collection
- Sequence capture
data_collection/capture_sequences.py - Training normalization
data_collection/normalizer.py
Other components
- Signer
- Web Speech API
Connections 18
- Signer → Landing page: opens
README.md - Landing page → Gesture Studio: launches
README.md - Signer → Camera capture: signs to
README.md - Gesture Studio → Camera capture: hosts controls
README.md - Camera capture → Hand tracking: sends frames
web_app/app.js - Hand tracking → Frame vectors: provides landmarks
web_app/app.js - Frame vectors → Inference and debounce: builds sequences
web_app/app.js - Inference and debounce → Browser model: runs inference
web_app/app.js - Inference and debounce → Translation text: emits confirmed signs
web_app/app.js - Inference and debounce → Session history: records signs
web_app/app.js - Inference and debounce → Speech and controls: requests speech
web_app/app.js - Speech and controls → Web Speech API: speaks with
web_app/control.js - Signer → Sequence capture: records examples
README.md - Sequence capture → Training normalization: calls
data_collection/capture_sequences.py - Sequence capture → Dataset preprocessing: saves sequences for
README.md - Dataset preprocessing → CNN training: writes training arrays for
model_training/preprocess.py - CNN training → TensorFlow.js export: saves model for
model_training/train_cnn.py - TensorFlow.js export → Browser model: exports browser files to
model_training/convert_tfjs.py