Robin's Voice
A tablet that speaks for someone who can't, and a phone app that makes sure someone answers.
- Role
- Product, architecture, API and app
- Stack
- Expo · React Native · Rails 8 · PostgreSQL · ActionCable
- Status
- In beta with a family care team
The real app, with made-up data and placeholder names.




The problem
Adults with severe non-verbal autism often depend on a rotating circle of people: parents, home-care nurses, educators, respite workers. When they are thirsty, in pain or upset, they may have no reliable way to say so.
The people around them have the opposite problem: what one caregiver noticed this morning rarely reaches whoever takes the next shift, and medications, fluid limits and equipment checks live in notebooks and group chats.
What I built
How it works
One Expo app runs in two modes on two kinds of device: a caregiver phone and a dedicated tablet for the person being cared for. Both talk to a Rails API that scopes every query to a household.
A need, from tap to answer
- Picture buttons and body map
- Paired with a 10-minute code
- Taps queue offline
- Every query scoped to a household
- Signal state machine
- Audit trail on clinical data
- Names, conditions, allergies and medication details encrypted at rest
Getting it to the right people
- Household channel
- Push for phones in pockets
- Dashboard with badges
- Acknowledge, then resolve
- Logs, notes and settings by permission
Key decisions
- The household is the tenant, not the userA nurse can work with three families. Each membership carries its own role and per-module permissions, plus temporary grants that expire, such as settings access for an hour.
- The person being cared for is not a user accountThe tablet signs in as a paired device with its own revocable token. There is no password for them to manage, and a lost tablet can be cut off without touching anyone else.
- One state machine for every signalNeeds and pain events share the same pending, acknowledged and resolved flow, so the dashboard, badges and notifications all behave the same way.
- Privacy designed in for Loi 25Quebec's privacy law shaped the data model from day one: the most sensitive fields are encrypted at rest and changes to clinical records keep an audit trail.
- Taps never get lostThe tablet queues signals while offline and sends them when the connection returns, so a dropped Wi-Fi signal never swallows a request for help.
Where it stands
Today
The family beta and the wider care-circle phase are both complete: the app is in use by a real care team. CI runs the API and mobile test suites on every push.
Next
Productization: store listings on iOS and Android, a consent flow for families beyond the first, and recognition under Quebec disability programs.