Project - A voice companion that remembers you

Sahm is a voice companion that lives on a small ESP32 device. It keeps its own memory of you and comes with a web app for the people it lives with.

Project
Sahm
Year
Type
Hardware & software

Overview

Sahm is a voice companion that lives on a small screen-and-microphone device on my desk. The idea came from watching Her: not an assistant that answers questions, but something that gets to know you.

It runs firmware I wrote for an ESP32, with 8MB of memory to work in, so most of the job was fitting a personality into a very small space. It listens for the wake word on the device itself, using a model I trained, then opens a voice session through my server to OpenAI's realtime model. The device never sees the API key.

Memory is the part that makes it feel different. There are two kinds: lasting facts about you, and passing notes about your mood or your week that expire after a few days. When a conversation ends, a second model reads the transcript and decides what is worth keeping, what has changed and what should be dropped. Her character lives in a versioned text file on the server, so I can change who she is without touching the firmware.

There's a web app alongside it: timers and reminders, voice notes and pictures you can send to the screen, and a kids mode with three age bands that changes how much she explains. Parents see the questions their child asked rather than a transcript.

It's still a prototype, one device on a desk, but the unglamorous parts are done: firmware updates over the air, remote wipe, and a way to move a personality onto a replacement board if the hardware dies.

What I built

  • ESP32 firmware
  • Wake word on the device
  • Realtime voice relay
  • Lasting & passing memory
  • Kids mode & parent view
  • Over-the-air updates

More projects

A retro arcade in the browser

Retrograde Gamez is a small arcade site with two games you can play in a browser: a 1979-style Asteroids and a 3D kart racer.

Read more

Push-to-deploy hosting on dedicated machines

Appentic is a hosting platform that deploys apps and databases from GitHub onto a dedicated machine for every project.

Read more

Want to chat about any of this?