Lily
An AI voice agent that calls residents and listens
A voice-agent product for elder-care residences that captures how residents are really doing. Client unnamed at their request.
- Role
- Full-Stack
- Engagement
- Client work
- Stack
- Next.js · Node.js · PostgreSQL · Prisma · BullMQ · Gemini Live · Twilio · GCP

The problem
Care homes want to know how residents are actually feeling — whether anything is wrong before it becomes a crisis. Ask manually, through a form, and people stay quiet or give a polite non-answer. The honest picture never makes it to the people who could act on it.
What I built
Lily is an AI voice agent that calls each resident, talks with them in a friendly tone, and turns the conversation into structured, reviewable feedback.
- Forms and sequencesAdmins compose question sets and chain them into sequences.
- Custom call schedulingOne-off or repeating, to a chosen group, at a chosen time.
- Tunable conversationPrompt, tone and emphasis are configurable per sequence.
- Real phone callsVoice via Gemini Live, telephony via Twilio.
- Reviewable recordsTranscript, structured answers and the audio, all stored together.
How it is built
The interesting part is the pipeline: a scheduled call becomes a live voice conversation, then a clean transcript, then structured answers — with the audio kept for review.
- Voice as a first-class input — Gemini Live drives the conversation; Twilio handles the telephony.
- Event-driven pipeline — BullMQ and events carry each call from scheduled to transcribed to scored.
- Structured extraction — Free-form answers are normalised into the question set for review.
Hard problem
Making a machine sound like it cares
Designing prompts and pacing so an elderly resident keeps talking and gives honest answers.
What shipped
- An AI voice agent that calls residents and holds a natural conversation
- Admin-defined forms, sequences and call schedules
- Transcripts, structured answers and audio stored for review
- Version one built and deployed solo
Gallery



Imagery is recreated or anonymised for privacy — not actual screenshots.
Have a problem like this?
Tell me what you are trying to build and I will tell you how I would approach it.
Book a call