Demo

https://drive.google.com/drive/folders/1sRs7aTfrs4lKeIjDWIMuXkkSB3v3_ZHc?usp=sharing

Inspiration

For most of human history, wisdom traveled through conversation. Elders sat with the young. Stories were told out loud. The knowledge of how to live, which was earned through decades of actual living, was passed tangibly down from person to person, in real time, in the same room.

This is almost entirely gone now: we live in the most connected era in history and yet we are less verbally and relationally connected than any other generation before us. We text instead of calling. We post instead of conversing. We consume instead of asking. The average American hasn't had a long, meaningful conversation with someone significantly older than them in....Years? Ever?

Harvard's Global Flourishing Study (the largest study of human wellbeing ever conducted) found that people over 60 are the most flourishing age group on earth. And adults 18 to 24 are the least. The people who have figured the most out and the people who need it most have almost nothing to say to each other.

So through of all of this, we know something is being lost, quietly and daily. The specific, hard-won knowledge of how to live — what actually matters, what you'll regret in 50 years, what the fear feels like and what's on the other side of it — dies with the people who earned it because we abandoned the old medium of passing it on and never reconstructed a new one.

Heirloom is this new medium.

What it does

Heirloom bridges the generational wisdom gap by turning everyone into a storyteller, reconnecting those with hard-won life experience with people seeking guidance.

For Storytellers Heirloom guides users through an intimate, 20-30 minute conversational interview (or longer/shorter, if desired) exploring their life experiences. Users can choose a specific topic, share a prepared story, or simply let the conversation unfold naturally.

The interviewer is fully voice-enabled with real-time conversation capabilities — users can speak naturally and interrupt the AI just as they would in a human conversation, creating an authentic storytelling experience. Alternatively, they can type their responses or mute the voice and use text-only mode.

We designed the entire interface with accessibility in mind: large, readable text, minimal distractions, and clear instructions make it welcoming for users of all ages and technical backgrounds.

After the interview, Heirloom intelligently parses the conversation into individual story cards — each one capturing the essence of a moment in the giver's words, including their age at the time and a standout quote. Givers can edit in-line or delete any story before publishing. Behind the scenes, automated moderation ensures stories meet community guidelines (no graphic violence, abuse encouragement, or hate speech/discriminatory content). There is an option to protest a content takedown if the user believes it was done incorrectly (i.e. false positive).

When published, each story drops a seed that blossoms into a flower, a symbol of wisdom passed down to help the next generation grow.

For Story Finders Finders undergo a shorter, focused interview designed to understand what they're going through and what guidance they're seeking. Heirloom asks probing questions to capture the nuance of their situation. The system also screens for self-harm, abuse, suicidal ideation, or mental health crises, routing users to appropriate professional resources when needed.

Using semantic vector search, Heirloom then surfaces an archive of real experiences from people who've walked similar paths. Finders can read or listen to these stories, and most importantly, they can message the person who shared it, creating a meaningful cross-generational connection across time and experience.

How we built it

Heirloom is built as a full-stack Next.js application with a sophisticated AI-powered interview system and semantic search pipeline. Video/Audio Pipeline* We used Deepgram WebSocket API for real-time STT transcription and voice activity detection (VAD), configured with generous silence thresholds to accomadate natural pauses in older speakers' speech patterns. We used Cartesia for TTS that make sthe AI interview feel conversational and unhurried. This TTS also powers the option to listen to the stories on the storyfinder side. We also built custom interrupt handling on Web Audio API to enable the natural back-and-forth, choppy conversations inherent to many interviews. AI/Intelligence Layer Claude 4.5 Sonnet powers the interviewing engine, dynamically generating thoughtful, probing follow-up questions based on conversation context. We used Claude SDK to add custom tools for story tracking, parsing, and dynamic ending (i.e. understand when an interview should be concluded). OpenAI text-embedding-3-small generates semantic embeddings for stories and search queries. Dual crisis detection system combines Claude's contextual analysis with keyword pattern matching to identify users in crisis and route them to appropriate resources. The content moderation system on the storyteller side also uses Claude. Database/Search We used Supabase (Postgres) as our backend database. We used pgvector extension for cosine similarity search. Additionally, we have a real-time messaging infrastructure through the database. We used Resend for email logins (an SMTP).

Challenges we ran into

Enabling audio interrupt, ensuring the prompts produced natural and not-awkward interview questions, good parsing of stories and recognition of story ending.

Accomplishments that we're proud of

The full, comprehensive audio system and accessible design! We are also proud of the moderation / crisis detection system (even though this would need stress-testing before large deployment). The interview itself also feels natural and really delves into people's experiences.

What we learned

Email system, TTS/STT, how to use Claude SDK, how to implement vector search, how to implement a moderation layer in practice

What's next for Heirloom

  • Custom voices: We want to use Cartesia to allow people to listen to storyteller's voices in their actual voices.
  • Storyteller modifications: we want to allow storytellers to archive their posts or share them privately just with family members
  • Improving topics / interviews
  • Content moderation: Stress-testing and building out the response pipeline, so users can directly report any false positives they feel were incorrectly-flagged

Built With

  • cartesia
  • claude
  • deepgram
  • next.js
  • openai
  • resend
  • supabase
  • typescript
  • vercel
Share this project:

Updates