Skip to content

Research note

The personal memory graph

Treat a personal library as a graph and something becomes obvious: every item you save arrives already connected to others, and nearly all of those connections are thrown away.

Naming the edge types is most of the work.

01 · Edge types

Most connections are recorded for free.

Co-occurrence in time, shared source, shared document, shared project, shared entities and overlapping subject are all derivable from material you already have. They don't need the person to link anything by hand, which is precisely why manual linking systems stay sparse.

Manual links are higher quality and there should be room for them. They just can't be the only mechanism, because people don't make enough of them.

Temporal
Saved in the same session, day or week.
Provenance
Same application, site, document or sender.
Semantic
Overlapping subject, even in different words.
Entity
The same person, company or product named across saves.
Visual
Similar appearance, structure or recognised text.

02 · Evidence

An unexplained connection is noise.

Derived edges are guesses. Some are wrong, and a graph full of confident wrong edges is worse than no graph, because it teaches you to distrust the whole thing.

The fix is to show the reason: connected because both were saved on 4 March, or because both mention the same document. A visible reason makes a wrong edge harmless, since you can dismiss it in a glance.

Show the reason and a wrong connection costs a second. Hide it and it costs trust.

03 · Value

Edges are what make retrieval survivable.

In a reconstruction, you rarely land on the target directly. You land near it: a neighbour from the same afternoon, another artifact from the same project. Edges are how you cover the last step.

They're also how a library compounds. Each new save makes older saves more reachable, which is the only mechanism by which an archive gets better rather than merely bigger.

Next thought

Once edges exist, grouping stops being something you do by hand.

Read: semantic vs folder organization

Shelf V3 is out now

Shelf V3 is the current build. Shelf does not use automatic updates, so download the latest build here and install it over your current version.

This is intentional. Shelf is built around a local-first, privacy-focused philosophy. An automatic updater requires additional background processes, network connections, update infrastructure, and another system with permission to modify the app. We prefer to keep Shelf’s network footprint and background activity as small as possible.

Manual updates keep the process explicit: Shelf only checks the internet when a feature actually needs it, and you decide when a new version is downloaded and installed.

Download the latest version →Version 3.0 · macOS 14+