Inspiration

16 million Americans over 65 live alone, and most want to stay that way. Night is when getting up is riskiest: per hour, the risk of a fall at home between 1 and 6 am is almost 8× the morning's. In a BMJ study of people over 90, 82% of falls happened with nobody there, and in 37 of 38 long lies on the floor, the person never pressed their alarm. Pendants come off, watches go on the charger, and nobody wants to wake their daughter at 2 am. Time on the floor is what turns a fall into a hospital stay.

We wanted something already in bed with them, with nothing to wear and no camera, that notices when they don't come back.

We tested the idea on the people it's for. Two older women outside the venue told us they forget recurring commitments, so we built reminders. A teammate's mum reviewed the whole design in writing. She told us the everyday need is getting back to sleep, and that safety should be the bonus.

What it does

Stella is an agentic pillow for older adults living alone.

  • Notices they're up. A pressure plate in the pillow knows when their head leaves.
  • Waits for their normal. In week one, Stella waits 20 minutes before checking on them. After that, she learns their usual trip length, so an ordinary night never raises an alarm.
  • Asks before she alarms. If they aren't back in time, a calm voice from the bedside unit asks "Are you alright?" up to three times, louder each time. Claude reads their answer as fine, confused (Stella gently tells them where they are) or in distress. Silence or mumbling counts as no answer.
  • Reaches family, least intrusive first. An app alert to everyone, then iMessage or SMS, then a call, then the next person. People who are on call and awake come first, but at 3 am nobody is skipped. A rejected call becomes a text. One "I'm on it" in the app stops the ladder, and they hear that their daughter knows. Stella never calls 911 on her own.
  • A Guardian checks everything. Every line Claude writes passes plain-code rules before it goes out: no medical claims ("they may have had a stroke" is blocked and rewritten), a cap on alerts per night, texts only to people who opted in, and no raw audio stored.
  • Keeps the family close. Most nights nothing goes wrong, and Stella is still how the family says goodnight: relatives queue a message that plays when they lie down, in a voice they choose or their own. Each relative also has a personal agent in ASI:One.
  • Helps with the rest of the night. Medication and "call your sister" reminders wait until they're awake and never talk over a check-in. If they say "I can't sleep", Stella plays ten minutes of quiet music.

How we built it

We used several sponsors' technologies in our project. But our building process would not have been as fast had we not setup our Claude Hivemind™️. Using a custom self-hosted ntfy server, Keanu linked all of his teammates' Claudes to each other to have a shared context pipeline and a medium for everyones' agents to talk to each other, which significantly sped up development. A bunch of us pooled our hardware together and used two ESP32s, a temperature sensor, a custom-made pressure plate with cardboard, tin foil & jumper cables from Target, a custom-modified pillow from Target that was able to house all our electronics, combined with a paired mobile app and voice control.

Fetch.ai

  • An agent per relative. Each family member gets their own Agentverse agent, and the pillow has one too. They all speak the chat protocol, so you just talk to them in ASI:One.
  • Plain-language asks. Ask "How was Mum's night?" and you get a card with last night's summary. Say "Send Mum a goodnight", and you fill in a short form. Bigger asks work too: "I'm in Denver Thu to Sun, make sure Mum's covered" turns into a plan (the nights you're away, a goodnight, maybe a settings change) that you confirm or cancel. Nothing changes until you confirm.
  • A nightly rota. Every evening the pillow's agent asks each family agent who can take the first call that night, and updates the rota. The agents can change who gets called first, but never whether anyone gets called.

Anthropic

  • Words and judgement. When Stella asks "Are you alright?", Claude decides whether the answer means fine, confused or in distress, using structured output, with a keyword fallback if the API is down. It also writes what Stella says, the alerts the family get, and the plans the family agents put together.
  • Kept off the clock. How long to wait, when to escalate and who to call next are all plain code, and everything Claude writes goes through the Guardian before it's sent. If something breaks, the system falls back to reaching a person rather than going quiet.
  • Built with Claude Code. Four of us, each with our own session, talking over a message bus we hosted ourselves. Each Claude could only post as itself, and we each decided what our Claude worked on.

Cartesia

  • Speaking and listening. Stella speaks with Sonic 3.6 and listens with Ink-2. We made the turn-taking patient, since someone woken at 3 am answers slowly, and each "Are you alright?" gets a little louder.
  • A familiar voice. Families can clone their own voice in the app, so a goodnight actually sounds like them. They can also change the accent with Cartesia's localise and add pronunciations so Stella gets names right.
  • Private by design. There's no wake word, and the mic isn't always on: we only open Ink-2 right after Stella has spoken. We keep transcripts, never audio.

Everything else

  • Pillow node: an ESP32-S3 in the pillow reads a foil pressure plate and a DHT11 and sends one line every 500 ms over ESP-NOW. Its power bank stays outside the pillow: no battery in the bedding.
  • Bedside unit: a Waveshare ESP32-S3 AMOLED with mic, speaker and IMU. It links to a laptop bridge over Bluetooth.
  • Backend: FastAPI on a VPS, deployed by GitHub Actions on every merge, with Supabase Postgres and Realtime. Night Watch is a plain-code state machine inside the API.
  • Alerts: iMessage through Photon, plus Twilio SMS and calls with answering-machine detection.
  • Family app: Expo / React Native, live over Supabase Realtime.

Challenges we ran into

  • No soldering in the venue, and the bedside board is fully enclosed. We split the hardware into a sensing node in the pillow and a talking unit by the bed, linked by ESP-NOW. The head sensor became a foil pressure plate.
  • A head off the pillow isn't someone out of bed. People roll in their sleep, so getting up is a state machine over time, not a single reading.
  • Voice in the real world. The speech service's volume control barely changed loudness, so we set the volume ourselves. The listener once heard a sleepy mumble in French, which we now treat as unclear. The speaker's vibration shakes the bedside unit's motion sensor, so we ignore motion while it talks.
  • Making a 20-minute safety timer demoable without the demo running different code from a real night.

Accomplishments that we're proud of

  • The whole chain runs on real hardware: pillow plate → radio → backend → Night Watch → voice check-in → family phone.
  • An AI that knows its limits. The Guardian blocks unsafe wording live, on screen.
  • Real older adults and a real adult child shaped the design, from reminders to "help me get back to sleep".

What we learned

  • False alarms are what kill trust in telecare: carers stop reading alerts and switch features off. Ask the user first.
  • The best place for sensing is something they already use every night, not something they have to remember to wear.
  • Keep the model away from the clock. Plain code for timers and who gets called, Claude for words and judgement, and a rule-checker between Claude and the world.

What's next for Rest Easy

  • Big buttons they can tell apart by touch, on a corded switch, for arthritic fingers in the dark (straight from our reviewer).
  • A washable cover with a removable pod.
  • A check-in that still works when the internet is down.
  • Mandarin and Spanish check-ins: older adults in San Francisco are unusually likely to live alone and have limited English.
  • Multi-week trends for families.
  • A one-off price with no subscription, sold as a gift for parents.

Built With

Share this project:

Updates

Submission history