Inspiration
Having something to say and being able to say it are two different things. For people with severe speech or motor limitations, including those living with ALS, communication can require tremendous effort. I built Still My Voice to explore how AI could reduce that friction without taking away someone's control over their words.
What it does
Still My Voice (SMV) is an AI-assisted communication system operated through a single physical button. Users can select phrases, spell messages, and provide a few keywords that Gemini helps expand into complete sentences.
They can inspect, correct, or reject suggestions before authorizing speech through ElevenLabs. SMV also supports selectable voices, optional conversation transcription, and local speech fallback.
How we built it
I connected an arcade button to a Raspberry Pi Pico running CircuitPython and developed the interface using React, TypeScript, and Vite. Web Serial handles physical input, Gemini provides language assistance, and ElevenLabs powers speech synthesis and optional transcription. I used OpenAI Codex to assist with development and testing.
Challenges we ran into
Making single-switch navigation intuitive without sacrificing speed was difficult. Other challenges included handling ambiguous AI suggestions, preventing accidental selections, managing API limitations, and ensuring speech only occurs after explicit approval.
Accomplishments that we're proud of
I built and physically tested a working switch-controlled communication system with message editing, safe recovery, and authorized speech. The documented implementation also passed 157 automated regression tests, with successful controlled Gemini and ElevenLabs integrations.
What we learned
Accessibility isn't simply about making technology work. It's about reducing unnecessary effort while preserving dignity, independence, and personal expression. AI should assist someone's communication, not decide what they mean.
What's next for Still My Voice (SMV)
I want to evaluate gaze-assisted scanning to reduce selection time, improve AI handling of imperfect wording, and test SMV with AAC users and speech-language pathologists. The long-term goal is an affordable, adaptable communication platform.
Built With
- circuitpython
- elevenlabs
- elevenlabs-scribe
- google-gemini
- google-gen-ai-sdk
- html/css
- javascript
- node.js
- raspberry-pi-pico
- react
- typescript
- vite
- web-serial-api
- web-speech-api
