graphlife

The animation above builds a graph of one person's life: a node for you with a few attributes, then four groups — family, documents, work and events — then real examples of each with the relationship that connects them to you, then their own connections, until the graph is denser than any list. The same information is written out in the sections below.

01 · WHERE IT LIVES

All of that, wherever you want it.

A graph of your life is the most sensitive file you will ever own, so GraphLife is local-first: it's a SQLite file on your machine and the whole loop works there. Anything hosted — sync, sharing, an inbox for what you dictate elsewhere — is opt-in, and what leaves your device leaves sealed.

devices
On device by default

The whole loop runs with no keys and no models — deterministic extraction and answering on your machine. Bring an API key and the call goes device → Anthropic directly, with no backend of ours in between.

lock
Hosted is opt-in, and sealed

Turn on sync or the chat inbox and the server still holds no readable graph — an encrypted oplog, sealed blobs, grants. Anything sent to you arrives sealed to your device's key and is written only once you accept it.

key
Revocable keys for your assistants

Give an assistant, an app or a service a read-only slice — and take it back whenever you like. Deny-by-default: an edge comes back only when both of its ends are in scope, a path only when every hop is, so structure cannot leak through a hidden node.

02 · WHAT IT'S FOR

Then ask it the things you can't google.

Who did I meet through Marco?
Everyone I knew in Milan in 2019
How am I connected to her?
What expires in the next six months?

Tell it about your life the way you'd tell a person — type it, talk it, or drop in a photo of a passport. What it extracts is shown to you as chips you confirm, edit or throw away before anything is written.

ANSWER

Three people. Livia, at the Puglia wedding in 2021. Sam, through the Meridian project the year after. And Nadia, who Marco introduced at his boxing gym.

wedding_in_puglia · met_at
project_meridian · introduced_by
marco · introduced

Every answer carries the facts it was built from, and every fact carries where it came from.

03 · THE APP

Tap a node, get the whole story.

close
person
Nice grandma Rosa
also: Rosa Beltrami · nonna
person Person
Born
1941-04-02
Lives in
Bergamo
Phone
+39 ••• ••• 41
RELATIONSHIPS · 3
calls_every_sunday You
lived_in Rue des Lilas
was_at Christmas 2019
Family + group
WRITTEN ABOUT THIS

She kept the good china for guests who never came, and fed everyone else off the chipped plates. Sunday calls at seven, whether you answered or not — and she always knew, somehow, which cousin you had fallen out with that month.

The graph is a canvas you can pan, zoom and focus — tap any node for this sheet, drag it up for the full page. Every attribute carries where it came from, every relationship reads in the right direction from both ends.

EXPORT
A graph you can walk out with

One self-describing file: JSON with every node, alias, edge and provenance record, or Markdown you can just read. Import it back and it round-trips.

MCP
Let an assistant query it live

A local server opens the file read-only and exposes search, neighbors, subgraph and paths. Documents and private captures are withheld unless you say otherwise.

COLD START
Start from what you already have

Calendars, address books, mailbox headers, chat exports — a file drop, not a year of typing. Even a codebase indexes into the same graph.

Start with one node.

It's you. Everything else you already know — it just hasn't been written down anywhere that remembers.

Get GraphLife

Android, iOS and Windows. No account, nothing to sign up for — AI extraction and answers are optional and use your own key.

graphlife · local-first personal graph your device · your file · your keys