← Patterns

Zettelkasten as Object Model

Core Concept

The zettelkasten’s atomicity principle and Smalltalk’s “everything is an object” are the same design principle applied to different substrates. Both say:

  1. The unit of meaning should be small and self-contained (an atomic note / an object)
  2. The unit communicates through connections (wiki-links / message passing)
  3. The power is in the composition, not the individual unit (the knowledge graph / the running system)
  4. If you find yourself wanting to reference something independently, it should be its own unit (the atomicity heuristic / “make it an object”)

A zettelkasten note that can be linked from five different contexts IS an object that responds to messages from five different senders. The linking protocol IS the message-passing protocol. The entity index IS the object runtime.


Why This Connection Matters

This isn’t a metaphor — it’s a structural identity. Recognizing it means:


Where I’ve Seen It


The Atomicity Heuristic (Restated as Object Heuristic)

“If a section could be referenced independently from multiple other notes, it should probably be its own note.”

Restated in Smalltalk terms:

“If something receives messages from multiple senders, it should be its own object.”

Both heuristics answer the same question: when does something deserve to be a first-class citizen in the system? The answer: when multiple other things need to point at it independently.



Cross-References