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

Emacs 29.1 (Org mode 9.6.6)