Heirloom sealHeirloomBeta
Heirloom seal
Local-firstBetaOpen source

Preserve presence across generations.

A private place for the voice, photographs, and letters someone wanted to leave behind. Held on a device the family owns. Spoken in the words they actually said.

Try the Sagan archive

No telemetry · No account · Nothing leaves your device

Voice

The original recording, kept. A voice clone that only reads what was actually written. Opt-in, recorded once.

Photographs

Faces are matched on the device. Photos are captioned in the archival third person, using the names the creator chose.

Letters

Write something for a date, a moment, a feeling. The letter stays sealed until the right one arrives.

A walk through

A few minutes inside the archive.

The screens a creator opens to leave something behind, and the ones a nominee opens to find it.

Heirloom

Preserve presence across generations.

Begin a new archive
I have a passphrase
Import an existing archive

Thursday, 18 May

Good morning,Carl

A place to beginAnother →

The view from the moon was a homecoming of a different kind. What is the homecoming you most remember?

Voice
Note
Photo
Video
Ask the archive…

Recent

Pale Blue Dot

note · 1994

Look again at that dot. That's here. That's home. That's us.

Science as a way of thinking

note · 1996

Science is more than a body of knowledge. It's a way of thinking.

Local only · captureCancel

What is one thing you would want them to know, when you are no longer in the room?

Look again at that dot. That's here. That's home.

Reflect

"What did he say about insignificance?"

He returned often to the same image. The Earth as a pale point of light, seen from beyond Neptune1, against an unimaginable dark. He used it less to diminish us than to underline our responsibility to one another, and to the only home we have known2.

Cited from[1] Pale Blue Dot · 1994[2] On Apollo and looking back

Source · note

Pale Blue Dot

Look again at that dot. That's here. That's home. That's us. On it everyone you love, everyone you know, everyone you ever heard of, every human being who ever was, lived out their lives. To me, it underscores our responsibility to deal more kindly with one another, and to preserve and cherish the pale blue dot, the only home we've ever known.

Reflect

"What did he say about insignificance?"

He returned often to the same image. The Earth as a pale point of light, seen from beyond Neptune1, against an unimaginable dark. He used it less to diminish us than to underline our responsibility to one another, and to the only home we have known2.

Cited from[1] Pale Blue Dot · 1994[2] On Apollo and looking back

Source · note

Pale Blue Dot

Look again at that dot. That's here. That's home. That's us. On it everyone you love, everyone you know, everyone you ever heard of, every human being who ever was, lived out their lives. To me, it underscores our responsibility to deal more kindly with one another, and to preserve and cherish the pale blue dot, the only home we've ever known.

For Ann · From Carl

◯ Held

A memory from February.

The pale blue speck — a bit right of center.

14 Feb 1990

How are you, today?

I miss themI feel smallI am proudI am unsureNothing in particular
Ask, in your own words.

What it does

Hold what was said. Find it later. Pass it on.

Capture

Speak, write, or photograph. Save once.

A note titled in your own hand. A voice memo transcribed by Whisper, embedded for retrieval, and the original recording preserved for playback. A photo captioned by Gemma 4 in the archival third person — if a face matches someone you've named, the caption uses that name.

9:41
Local only · captureCancel

What is one thing you would want them to know, when you are no longer in the room?

The nitrogen in our DNA, the calcium in our teeth, the iron in our blood.

Reflect

Ask the archive. Never get fiction back.

Every question is embedded and matched against the archive's vector index. The model isn't invoked until retrieval has produced something to point at. When it has, every claim is validated against the cited captures — and every answer carries the original next to it, in the words it actually came from.

9:41

Reflect

"Did he ever talk about my mother?"

I don't have that in the archive. Try asking another way?

The model was never invoked

Hand off

Sealed letters wait for the right moment.

Write a letter "for when Sam feels lost" or "the morning after Sam's wedding." Five triggers: an absolute date, a life event, a mood the nominee taps, a Reflection that matches the letter's intent, or simply a first visit. The body stays sealed until then.

9:41

Heirloom · now

A letter has arrived for you.

Hand off

HHFor when you feel insignificant.

For your birthday.

Quietly capable

The work happens on your device, not somewhere else.

Their voice, cloned locally.

Fifteen seconds of speech, once. The clone reads notes and letters in their cadence — never inventing words, only voicing what was actually written.

A daily prompt that listens.

Each morning the archive offers a single line drawn from the creator's own register and what they've already captured. Not a streak. Not a nudge. Just a place to begin.

Photos that know their people.

Faces are recognised in the browser and matched to people the creator named. Captions use those names — and revise themselves quietly when a match later changes.

Sealed letters that wait.

Write a letter for a date, a life event, a feeling, or a first visit. The body stays closed until the right moment, then surfaces with the wax-seal ceremony it deserves.

Install to home screen.

Heirloom is a progressive web app. Add to home on a phone for a full-screen, offline-capable companion that lives next to the family photo album.

Letters that whisper.

Notifications arrive only when a real moment does — a date, a release, a letter unsealing. The contents stay inside the archive.

The contract

The system refuses to invent. By design.

Five checks run between a question and an answer. When any of them fails, the system says so plainly — in the same sentence, every time.

  1. Retrieval before model.

    The model isn't asked anything until the archive has found something to point at. If the archive is empty on a topic, the model never speaks.

  2. A floor, not a hope.

    Answers ground on either a strong vector match or a literal overlap with the question. One alone misses too much.

  3. Every citation, checked.

    Each claim in an answer must point at a capture that retrieval actually returned. A citation outside that set fails the whole answer.

  4. No first person.

    Any answer that says I or my outside a quote fails. The system describes what was said. It does not become the person who said it.

  5. One refusal sentence.

    When the contract fails, the answer collapses to one line, the same every time: "I don't have that in the archive. Try asking another way?"

Read the full contract
9:41

Reflect

"Did he ever talk about my mother?"

I don't have that in the archive. Try asking another way?

The model was never invoked

What stays on your device

Local-first. Visible, not just true.

Heirloom installs on your own laptop. The model runs there. Your archive lives there. No accounts, no analytics, no third parties — and the few times anything is sent to the network at all, the list is short and named.

  • The modelDownloaded once, then runs on your device
  • Your archiveStays on your device. Never sent anywhere
  • NotificationsOpt-in. A title arrives; the content does not
  • Anyone elseNo analytics. No tracking. No third parties

Try it as a nominee

A real archive, pre-loaded for you.

Carl Sagan's writing, public photographs, and a single sealed letter — for when you feel insignificant. Open it the way someone who loved him would. Ask the archive what he said. Read what comes back.

No account, no email. You'll see only what was released to you, the same way a real recipient would.

Where it runs

Local everywhere. Nothing to sign up for.

macOS

Available

A signed .app bundle that ships the model, the database, and the voice clone alongside it.

Progressive web app

Available

Open in any modern browser, add to home screen. Works fully offline once the page is cached.

iOS native

Coming soon

On the roadmap. The model will ship in the app itself, so the offline story stays intact.

Android native

Coming soon

Same story as iOS — bundled model, no server in the loop, your archive on your phone.

Under the hood

The parts, for the curious.

You don't need to know any of this to use Heirloom. The list is here for the people who like to know what's underneath.

Everything below runs on the same device the archive lives on. The only model weights downloaded from the internet are from ollama.com, pulled once on first launch.

  • Gemma 4

    Synthesis · vision · captions

  • Ollama

    Local model runtime

  • EmbeddingGemma

    Retrieval embeddings

  • Whisper.cpp

    Speech to text

  • LuxTTS · ZipVoice

    Opt-in voice cloning

  • face-api.js

    Face match, browser only

  • Postgres + pgvector

    Vector search at home

  • SQLite + sqlite-vec

    Same shape, in the .app

The .hloom export format

One encrypted file holds your whole archive — and only your passphrase opens it.

Captures, transcripts, embeddings, photos, voice profile, sealed letters, the release schedule. Compressed, then sealed with argon2id + ChaCha20-Poly1305. Lose the passphrase, lose the archive. The format is open and lives in the source.

Read the source
gautamp8/heirloom

Open source, on GitHub.

The whole product, including the format your archive exports to. If we are not here tomorrow, what you have is still yours.