Inspiration
Patients with ALS, paralysis, stroke-related speech loss, or severe motor impairments may understand everything around them but still struggle to communicate.
We built Tacit so they can communicate using intentional blinks.
What it does
Tacit is a blink-driven communication system for patients who cannot reliably speak or use their hands.
- Yes / No with blinks
- AI-suggested responses
- Blink-scanning keyboard
- Text-to-speech
- Patient-specific history
How we built it
Frontend: React + TypeScript inside Electron; simple patient and clinician interfaces built for fast, low-effort communication.
Blink Detection: Presage SmartSpectra detects blinks from the webcam, with per-user calibration and filtering for accidental blinks.
Communication Flow: Automatic scanning cycles through Yes/No, suggested responses, and keyboard options; an intentional blink selects the highlighted option.
AI Suggestions: Gemini uses patient context and previous interactions to generate likely responses and clinician questions.
Blink Keyboard: Row-and-column scanning lets patients build custom messages when a suggested response is not enough.
Text-to-Speech: ElevenLabs converts selected or typed responses into speech.
Storage: SQLite stores patient profiles, clinical context, sessions, responses, and communication history.
Challenges we ran into
- Separating intentional and natural blinks
- Preventing accidental selections
- Calibrating for different users
- Making AI suggestions useful
What we're proud of
- Communication using only blinks
- AI reduces typing
- Full keyboard for custom messages
- Turning a blink into spoken communication
What we learned
- Accessibility must be simple
- Calibration matters
- Reliability matters more than complexity
- AI works best when it reduces effort
What's next for Tacit
- Better blink calibration
- Faster scanning
- More languages
- Offline AI
- Hospital integration
Built With
- electron
- elevenlabs
- gemini
- javascript
- mediapipe
- presage-smartspectra
- react
- sqlite
- tailwind
- typescript




Log in or sign up for Devpost to join the conversation.