Accessibility wasn’t the starting point, but the more I work on this the more it feels like a natural fit.
On nonverbal inputs, I’ve focused on gaze and gestures so far. I’ve thought about things like head nods or blink patterns for simple confirm/cancel, but not explored them deeply yet.
Right now the main challenge is keeping everything reliable without adding too much complexity.
Curious how you’d see this used in practice?
And it's not just permanent disability. Temporary and situational cases are everywhere and constantly overlooked — a parent holding a child, someone with a broken arm, post-surgery recovery. These people aren't going to install a full assistive tech stack for a few weeks or a few minutes. But gaze + voice built into the app they're already using? That's zero-friction.
The real value is combining inputs. Gaze to set context, voice for commands, and simple nonverbal signals (blink, nod) for confirm/cancel. That covers users who have voice but limited mobility and users who have gaze control but inconsistent speech. Most assistive tools force you to pick one input mode. Having all three with shared app context is the differentiator.
Even starting with head nod as a binary yes/no would unlock a lot. Reduces the voice dependency for simple interactions and makes the whole system more resilient when one input channel is unreliable.
The semantic action point is exactly where I think the architecture wants to evolve: less “infer everything from the DOM,” more explicit app-level capabilities like opening, filtering, confirming, assigning, etc.
And I think you’re right on the temporary / situational accessibility angle too. I didn’t start from accessibility, but the more I build this, the more it feels like a natural fit for those cases because it removes the need to install a separate assistive stack.
Head nod as a simple yes/no is also a very interesting idea. I probably wouldn’t start there before hardening the core loop, but it feels like a strong extension once the underlying interaction model is solid.
Oh one other idea that popped into my mind is getting facial and vocal emotion data to help drive supportive interactions. One thing that is lost in lot of these tools is guiding folks when the action taken isn't one that is expected. I think back to when I was trying to get Google Assistant to play a particular song but was getting it wrong (I actually had the title wrong but I didn't know that then) I asked it 4-5 times with my tone getting more and more frustrated and it just continued playing the same song. If it knew I was getting frustrated it could have went "Sounds like i'm not getting the right song, can you hum the tune or say some of the lyrics".