Zettelkasten
Table of Contents
Summary
Zettelkasten (German: slip-box) is a knowledge-management method developed
by sociologist Niklas Luhmann, who used it to produce an extraordinary volume
of academic work over several decades. Its two key principles are that each
note captures exactly one idea (the atomic note discipline) and that every
note is permanently addressable by a unique identifier, enabling a web of
typed links to emerge across the collection. ORE Studio uses Zettelkasten as
the conceptual foundation for its documentation graph: every .org file
carries a UUID :ID: property, files link to each other with
[[id:UUID][Title]] references, and org-roam maintains the index and
back-link database that makes the graph navigable.
Detail
The method
Luhmann's physical slip-box contained tens of thousands of index cards, each with a unique alphanumeric address. A new note was not filed by subject but placed wherever it could be cross-referenced to an existing note; the address was written at the top and outgoing references were written inline. Over time the collection self-organised into dense clusters of related ideas connected by an explicit link graph — something that no hierarchical filing system produces automatically.
The digital Zettelkasten community has translated these principles into plain-text formats: each note is a single file, the unique identifier is a UUID or timestamp, and links between files replace the handwritten references on cards. The emergent structure from following links reveals which ideas are central (high in-degree) and which are peripheral, without the author ever imposing a top-down taxonomy.
Why ORE Studio uses it
ORE Studio's documentation spans domain concepts (ORE instrument types,
interest rate curves), architecture decisions (component split, CMake
conventions), agile artefacts (stories, tasks, sprints), LLM instructions,
recipes, and manuals. A hierarchical directory structure alone cannot
represent the cross-cutting links: a concept defined in doc/knowledge/
is referenced from doc/agile/ tasks, from doc/recipes/, and from
doc/manual/. Treating the documentation as a Zettelkasten graph means:
- Any page can link to any other page by UUID — location in the directory tree is not part of the link and files can be moved without breaking references.
- The knowledge graph visualisation (org-roam-ui) immediately reveals which concepts are central to the project and which are peripheral.
- LLMs can navigate the graph programmatically:
compass show <UUID>prints a node's outgoing and incoming links, giving instant traversal without reading every file.
The atomic note discipline
The most important constraint is the one hardest to maintain: each file should capture one idea, not a collection of loosely related ones. When a file grows, the right response is usually to extract a sub-topic into a new file and link to it, not to add another section. ORE Studio enforces this weakly — the document types (knowledge, recipe, component overview, task, story) are each scoped to a single subject — but within each type the author must resist the temptation to include tangential detail.
See also
- org-roam — the Emacs package that implements Zettelkasten over
.orgfiles in ORE Studio. - Emacs — the editor that hosts org-roam and drives all documentation builds.
- org-roam manual: A Brief Introduction to the Zettelkasten Method — the method described from the org-roam perspective.