Abstract
Heirloom is a local-first family legacy preservation platform built for the Claude Builder Club Hackathon 2026, themed around Dario Amodei’s essay “Machines of Loving Grace.” It captures intergenerational stories through conversational elder interviews, either live with on-device Whisper transcription or from uploaded audio files, and organizes them into family archive pages, recipe cards, a relationship constellation, time capsules, and a cinematic Rewind slideshow. Claude’s role is strictly extractive: every artifact sentence traces back to a source timestamp. Built with Akshaya Nadathur and Pranjal Padakannaya, the project won the Creative Flourishing track.
Introduction
There’s a specific anxiety I think a lot of people in my generation carry about their older relatives. Someone in your family holds real history: the stories, the recipes, the name of the village, the reason for the migration. And you’ve always meant to capture it, but you haven’t. The window is closing and you still haven’t opened the door.
The friction is rarely disinterest. Sitting down with a recorder feels awkward and unstructured. There’s no obvious starting point. A quiet worry about doing it “wrong” (too clinical, too transactional, somehow violating a natural conversation) is enough that most people never start at all.
The hackathon was themed around Dario Amodei’s essay “Machines of Loving Grace.” The brief asked teams to show their thinking as much as their code, and to take the ethical questions seriously rather than treat them as disclaimers. The essay covers a lot of ground: AI and health, economics, governance. But the part that stuck with us was simpler than any of that. Amodei argues that meaning comes mostly from human relationships and connection, not from economic labor. Heirloom is what that looks like as a product: a tool that helps families do something they’ve always meant to do and never quite got around to. Akshaya Nadathur, Pranjal Padakannaya, and I have now won together for three hackathons running, which is quite the insane stat.
The Core Constraint
The most consequential decision we made was an ethical one before it became an architectural one. Claude’s role in Heirloom is strictly extractive; it can only surface what’s already in the transcript.
Every sentence in every artifact (story chapters, recipe cards, the edges in the relationship constellation) has to trace back to a direct quote in the source transcript. Every line is expandable to show the exact timestamp it came from. If Claude can’t find a source, the field stays blank and says “not mentioned.” The brief asked us to wrestle with the hard ethical questions, and this was our answer to the most serious one: AI story pollution. A hallucinated detail absorbed into family lore as fact. “Grandma’s family was from Kolkata” appearing in the archive because the model filled in a plausible geographic detail rather than something your grandmother actually said. In most AI tools this is a minor annoyance. In a product meant to preserve real family memory, it would be quietly catastrophic. The provenance system is baked into the architecture; it’s not a policy you can toggle off.
The same instinct produced the local-first principle. Your family’s stories are processed transiently through the Anthropic API (only the transcript passes through; the audio stays on-device), and the archive lives entirely on your local device. This was in the ideation notes from day one.
There’s also a choice about who does the interviewing. We deliberately kept Claude out of the conversation with the elder. The interview is human-to-human; Claude is the archivist afterward. A lot of AI products treat the human facilitator as friction to route around. We went the other direction. We made it a line in the demo script: “the conversation stays between family members. Claude never speaks to the elder directly.”
Building It
We started from a Lovable.ai starter template, which has some irony given the project’s whole orientation against the vibe-coded, AI-generated product aesthetic that’s everywhere right now; but oh well, one must make certain concessions when in a 24-hour hackathon sprint. The first few hours were cleanup: stripping Lovable-specific references, pruning half the dependency tree, renaming the package from vite_react_shadcn_ts to heirloom. You feel the gravity of the template pulling you back toward generic. Getting out of that took deliberate effort.
Akshaya built the parts of Heirloom that are genuinely cinematic: the Rewind feature (a full-screen photo slideshow with layered particles, typewriter text, and ambient audio) and the photo upload and lightbox flows. Pranjal worked on the interview prompts and upgraded the on-device Whisper model. I personally took a largely artistic and creative direction role, shaping the UI and User Experience while trying to maintain the feeling of connection and emotional urgency to this project that we wanted to invoke, not just in the judges, but in everyone with family members they love and wish to cherish. We ran transcription entirely in-browser via a HuggingFace Web Worker, partly because home interview audio is messy and processing it locally is just better, and partly because it’s the only approach that honestly delivers on “the audio never leaves the room.”
World Context
The feature I’m happiest with aesthetically is world context. When a memory is saved, Heirloom auto-generates historically-grounded notes about the era and location of the story. The initial version had Claude producing factoid-style summaries. Accurate enough, but they read like encyclopedia entries taped to a scrapbook.
We rewrote the prompt to ask a different question: not “what happened in Bhopal in 1947” but “what was Bhopal like in 1947.” The target was atmospheric and specific, the kind of context that gives a reader a felt sense of the world around their grandmother’s story. We added a wikiSlug field to Claude’s structured output, which the app uses to pull a Wikipedia thumbnail and article link.
The display is what made it work. We moved world context from a standalone card below the album to a newspaper clipping taped directly onto the album spread: yellowed paper, slight rotation, tape strip at the top, sepia-toned Wikipedia thumbnail. It sits alongside the story the way an actual clipping tucked into an old photo album would. Historical context that’s adjacent to a personal story, clearly not part of it.
The Time Capsule
The time capsule feature is the part of Heirloom I think about most. We built it in two days, as a secondary item on the feature list. A family member records a message sealed for someone at a moment they haven’t reached yet: a grandchild’s graduation, a wedding, a birthday still years away. The elder might not be there when it opens.
There’s something in that which reframes the whole product. An archive is about preservation. A time capsule is about communication. Your grandfather speaking directly to a version of you that doesn’t exist yet, across however many years it takes. That’s where Heirloom stops being a memory app and starts being something else. Amodei writes about meaning coming from human connection. A sealed message from someone who is gone, delivered to someone who has grown, is about as direct an expression of that as I can imagine building.
We had real family photos in the demo data. The demo video ended with a montage of them fading into each other, no narration, just music building to a peak and then holding on the Heirloom wordmark. The goal was to make the judges feel something. I think it worked.
Winning
The Creative Flourishing track felt like the right home. The brief had asked for thinking as much as code, and the whole ethical architecture of the project was the thinking: extractive-only AI, on-device transcription, local storage, the human-to-human interview model, the elder review step. We surfaced all of it as central to the pitch rather than appending it as a disclaimer.
What made it feel honest was that none of it was retrofitted. The provenance system was in the ideation notes before we wrote a line of code. The local-first principle was there from day one. When judges asked hard questions about AI’s role, we had real answers because we’d actually worked through them. “We want to see your thinking as much as your code” was the brief, and for once, the thinking was genuinely there.
This is our third hackathon win together. I didn’t expect it when we were still doing template cleanup at 11 PM on March 20th.
Takeaways
The extractive constraint was right, and I’d make it again on any similar project. When the model’s job is strictly to help you get more out of what’s already there, you end up thinking harder about what “already there” actually means and how to surface it well. A grandmother’s actual words, organized and navigable, are more interesting than anything a model would generate around them.
The time capsule should be closer to the center of the product. We treated it as a secondary feature and it might be the most emotionally significant thing in the whole app. If we took Heirloom further, that’s the first structural choice I’d revisit.
The constellation view has an unsolved problem underneath it. The generation-aware layout algorithm works well for conventional family structures and would break on anything unusual. A proper force-directed layout with family-topology constraints is the better long-term answer and would be worth the time.
Parent: Home | Tags: Dev Frontend TypeScript React Hackathon AI