Real-time American Sign Language translator. Only 63 hand landmarks leave the browser, never video.
Real-time ASL translator that covers A-Z plus a handful of common words (hello, thanks, yes, no, please). V1 was about getting the full pipeline in place: data collection, training, live translation.
Solo.
frontend/index.html runs MediaPipe Hands entirely in the browser and extracts 63 landmark floats per frame. Only those numbers cross the WebSocket to backend/main.py (FastAPI + WebSocket at /ws), so no video ever leaves your machine. Backend loads model.joblib and returns a predicted label plus confidence.
backend/train_model.py trains an MLP on landmarks_dataset.csv, which you build up yourself through the frontend's Collect tab. Landmarks are normalised (centered on the wrist, scaled by hand size) before both training and inference, so the model doesn't care where in the frame your hand is or how close it is to the camera.
Windows batch files (setup.bat, run.bat, train.bat) wrap the whole flow so a non-technical user can drive it.
Working V1, MIT. Roadmap in the README covers LSTM for dynamic signs and MediaPipe Holistic for two-hand and full-pose recognition.