A visual library is easy to start. The hard part is keeping it useful after the first thousand things.
The goal isn't to create the prettiest archive. It's to create an archive your future self can still use, which is a different design problem, with different rules.
Quick answer
The short version
Make saving nearly free, don't let retrieval depend on metadata you may not have added, keep visual clues usable, preserve context, and only build collections that answer a real question.
Updated September 2026
01 · Principle 01
Capture should be cheap.
Every second of friction at save time removes items from the library, and it removes them unevenly. What you lose first is the marginal reference you weren't sure about, which is exactly the material that makes an archive personal.
02 · Principle 02
Search should not depend on perfect metadata.
Metadata is useful. Perfect metadata is expensive, and it decays: you tag carefully for two weeks, then stop, and now half the library behaves differently from the other half.
Your library should still work for the items you forgot to tag. Design for the untagged case as the default, not the exception.
03 · Principle 03
Visual clues should remain useful.
A visual library should allow retrieval by what you remember seeing, not only what you remember typing. If the only index is words, you've converted a visual archive into a text one and thrown away the strongest half of your memory.
04 · Principle 04
Context should survive.
A reference becomes far more useful when you can still tell what project it belonged to, what you saved beside it, what you were researching, and why it mattered.
What it belonged to
The project, the pitch, the question.
What arrived with it
Neighbours are often better clues than tags.
When
A period is easier to remember than a date.
Why
One line, written once, worth more than five tags.
Without contextIMG_4821.png
No project.
No reason.
No route back.
With contextA pale editorial layout with enormous numerals
Saved while deciding on numerals.
Two other type references arrived with it.
Related to: Brand refresh, type
Kept in March
The same image, with and without its context.
05 · Principle 05
Collections should have a reason to exist.
Create collections for actual questions or projects, not because every item needs a folder. A collection is a piece of thinking; a folder is a filing obligation.
It's fine for most of the library to sit in no collection at all.
06 · Principle 06
Old material should remain discoverable.
A good library becomes more useful with age, not less. That only happens if age doesn't bury things: if the newest items dominate every view, your archive is a feed with a large basement.
01CaptureFree, instant, no decisions.→
02UnderstandText, subject, description, date.→
03SearchWords, meaning, look, period.→
04RediscoverOld things return when they become relevant.
What a library needs to do, in order.
A library becomes memory when you can return to the right thing.
07 · Where Shelf fits
The principles, applied
Shelf is one implementation of the six rules above: capture is a shortcut, understanding happens afterwards on your Mac, search runs on text and meaning together, context is kept by default, collections are optional, and older material resurfaces when it lines up with what you're doing.
You could build a version of this with folders, a naming convention and real discipline. Most people don't sustain the discipline, which is the argument for letting the tool hold it instead.
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.