Inspiration

Every family has a storyteller the grandparent whose eyes light up recounting a childhood memory, the elder whose stories of hardship and joy shaped who we all became. But those stories are fragile. They live in aging minds, in half-remembered conversations, in the silence after someone is gone.

I built Echoes because I believe every voice deserves to last forever.

What it does

Echoes is a voice-first memory preservation platform designed for elderly users. A caregiver sets up a session in under a minute entering the elder's name, a memory theme, and a family email. The elder then speaks naturally with Echo, a warm AI companion powered by Gemini Live, who gently guides the conversation and draws out vivid stories.

When the session ends, Echoes automatically:

  • Transforms the spoken transcript into a beautifully written first-person memoir chapter
  • Generates an illustrated memory card tied to the story
  • Assembles everything into a downloadable PDF keepsake
  • Emails the finished memoir directly to the family

No typing. No apps. Just a conversation and a story that lives on.

How I built it

Backend — Python + FastAPI, with Gemini Live (WebSocket streaming) handling real-time voice sessions. Gemini 1.5 Pro generates memoir prose with strict RAG grounding so it never invents details beyond what was spoken. WeasyPrint assembles the PDF. SendGrid delivers the email. Firestore stores sessions and transcripts. Everything runs on GCP Cloud Run.

Elder Kiosk — A React/Vite frontend designed for large text, high contrast, and zero friction. One button to start. Live captions stream in real time so staff can follow along. One button to finish.

Family Portal — A separate React app where family members can view, read, and download completed memoirs.

The architecture uses a Turborepo monorepo with shared types between frontend and backend, Docker Compose for local development, and Terraform for production infrastructure.

Challenges I ran into

The 10-minute API wall. Gemini Live hard-caps sessions at 10 minutes. I solved this with a seamless auto-reconnection at 9 minutes. Echo delivers a natural bridge phrase, the session reconnects with full transcript context injected into the new system prompt, and the elder never notices a seam.

Transcript grounding. Early versions of the memoir generator would hallucinate plausible-sounding but invented details names, places, dates the elder never mentioned. I added a strict RAG grounding system and a post-generation validation pass that flags any proper nouns in the prose that don't appear in the source transcript.

Designing for elders. Standard UI patterns don't work. I stripped the kiosk interface down to its absolute minimum oversized text, one action visible at a time, no icons without labels, no swipe gestures. Every design decision asked: can an 85-year-old use this without help?

Project status

The backend pipeline, infrastructure, and core architecture are built, though I didn't get the chance to deploy to Google Cloud within the hackathon timeframe and some core functionalities are still pending. The demo video illustrates the intended UX flow; frontend integrations are a work in progress.

What's next for Echoes

Persistent memory across sessions. I want Echo to remember across sessions, weaving individual stories into a growing personal archive that builds over months and years into a complete memoir.

Family collaboration. Let family members submit questions before a session "Ask grandpa about the summer he spent in Shimla" so Echo can gently surface those prompts during the conversation. Memory-keeping becomes a two-way gift.

Voice cloning and audio preservation. The written word is powerful, but a grandparent's voice is irreplaceable. I want to offer families an audio version of the memoir read aloud in the elder's own voice, preserved alongside the text.

Care home partnerships. Echoes was designed to slot into assisted living facilities with zero friction for staff. I want to formalize that with purpose-built integrations scheduled sessions, staff dashboards, bulk memoir delivery, and HIPAA-compliant data handling.

Multilingual support. Memory doesn't speak only English. Many elders are most expressive in their mother tongue Hindi, Punjabi, Mandarin, Spanish, Arabic. Gemini's multilingual capabilities make this achievable, and it's one of my highest priorities.

Physical keepsakes. A PDF is a start. A printed, bound memoir delivered to a family's door is something you can hold, annotate, and pass down. I want to close that loop with an optional print-on-demand tier.

Built With

Share this project:

Updates