Translate written text to ASL gloss & signs β web app + browser extension

Ai-SL is an AI-powered tool that helps make written content more accessible to Deaf and Hard of Hearing users who use American Sign Language (ASL).
The project consists of:
β A web app that lets users upload documents (TXT / PDF), which are automatically translated into ASL gloss, with linked videos of ASL signs.
β A browser extension that allows users to highlight any text on a webpage and instantly view an ASL interpretation β right in a popup window!
β A Hugging Face Space where you can test our backend by inputting your own text or files and seeing the generated ASL videos in real-time! --> Hugging Face Space
For many Deaf and Hard of Hearing individuals, English is a second language, and reading complex written materials (academic papers, government forms, textbooks) can be difficult.
ASL is a visual language with its own grammar β very different from written English.
However, live interpreters are not always available:
- Many students canβt get interpreters for all their classes
- Booking interpreters is expensive and time-limited
- Self-study of written material (textbooks, articles, web content) is often inaccessible
- Automatic captioning does not translate into ASL structure
As a result, many Deaf users face barriers to independent learning, work, and daily life.
Ai-SL helps bridge this gap:
β It offers instant, on-demand ASL gloss of any text
β Works for self-study β no need to schedule an interpreter
β Brings accessibility to any website, any document
β Available 24/7 β helping users learn, explore, and access more content on their own terms
AI-SL/
βββ extension/ # Browser extension
β βββ icons/
β βββ api-integration-example.js
β βββ background.js
β βββ content\_script.js
β βββ content\_styles.css
β βββ install.sh
β βββ manifest.json
β βββ package.json
β βββ popup.css
β βββ popup.html
β βββ popup.js
β βββ README.md
β
βββ src/backend/ # Python backend (Flask)
β βββ asl\_gloss.py
β βββ backend.py
β βββ document\_parsing.py
β βββ document\_to\_gloss.py
β
βββ web-app/ # Frontend web app (React or other)
β βββ app.py
β
βββ flask\_requirements.txt
βββ requirements.txt
βββ INTEGRATION\_GUIDE.md
βββ README\_FLASK.md
βββ package-lock.json
βββ README.md
# install dependencies
pip install -r requirements.txt
# run backend
python src/backend/backend.py
# or
python app.pycd web-app
npm install
npm run dev
# App runs on localhost:3000- Go to
chrome://extensionsin Chrome/Edge - Enable "Developer mode"
- Click "Load unpacked extension" β select the
extension/folder - Highlight any text β click βπ€ Translate to ASLβ β popup shows ASL gloss + videos
- LLM (OpenAI GPT-4 or similar): converts English text β ASL gloss
- ASL video dataset: Signbank, ASL-LEX, How2Sign (for linked sign videos)
- (Optional) MediaPipe Holistic: to add visual consistency / overlays to videos
β Upload TXT/PDF β ASL gloss + sign video links β Highlight any text on any page β ASL popup β Clean, accessible glassmorphism UI β Browser extension (Manifest V3 compatible) β Modular architecture β easy to extend with new sign datasets or avatars
- Some ASL regional variations not covered
- The avatar is not in its best shape, but we are working on it :)
Built by Nataliia Kulieshova, Ethan Tam, Deena Sun, and Jeffrey Gong at the Berkeley AI Hackathon 2025 π
MIT License
