Inspiration
In many places it is still hard for Deaf and hard-of-hearing people to have a fast, simple conversation with hearing people. Human interpreters are great, but they are not always there and can be expensive. I wanted a small tool that could help in everyday moments like a front desk, office hours, or a clinic check-in.
What it does
ASL Lens is a web app that runs in the browser.
- It can show live captions for speech using your laptop mic.
- It can also use the camera to read simple ASL alphabet signs and turn them into text on the screen.
Users can switch between “Speech” and “ASL” modes and save the transcript if they want.
How I built it
The front end is HTML, CSS, and JavaScript. I use the Web Speech API for speech-to-text captions.
For ASL, I built a small Python backend with an ML model and run it with Uvicorn. The browser sends camera frames to the API, and the API returns the predicted letter. I added a clean UI with size controls for the captions so it is easier to read.
Challenges and what I learned
Getting the browser to talk to the local API was hard at first (CORS, ports, IP addresses).
I also had to tune the frame rate, image size, and confidence so the ASL prediction was not too slow or too noisy.
From this project I learned:
- how to connect a web front end to a Python ML backend,
- how to think about user accessibility (caption size, clear status messages),
- and how small changes in model settings can change the user experience a lot.
What’s next
Next I would like to:
- support more ASL words, not only letters,
- test with real users from the Deaf/HH community,
- and deploy the backend so it can run online without local setup.
Built With
- css3
- fastapi
- html5
- javascript
- python
- tensorflow-lite
- web-speech-api
Log in or sign up for Devpost to join the conversation.