Skip to content


Personal knowledge management design patterns

Tended 1 year ago Planted 1 year ago Mentioned 0 times


Patterns I’ve noticed across various tools for building a Personal knowledge base:

Writing and Referencing Patterns

  • Primarily, good ol’ HTML links, which are what many of the below patterns ultimately turn into
  • Double-bracketed “wikilinks” (pioneered by Wikipedia) make for simple, easy references to other notes
  • Octothorpe-prefixed #HashTags allow relations between notes not through another note, e.g. two pages can link to #recipes and be connected without linking to each other or any common page
    • Aside from saving a few keystrokes, I haven’t discovered a benefit to hashtags over wikilinks (so long as the system supports wikilinks to not-yet-created notes), which is why doesn’t have hashtags
  • @mentions of other users, though multi-user knowledge bases like seem to be rare in my exploration.
  • Category hierarchies (a.k.a folders) in which one note “belongs to” another, e.g. each recipe is filed under the “Recipes” note/folder. Zettelkasten and its descendants typically eschew hierarchies in favor of flat, dense networks of notes, though Obsidian allows both so they aren’t mutually exclusive.

Organizational Patterns

  • A collection of fixed-size note-cards (like the original Zettelkasten). The fixed size enforces a relatively high level of abstraction (since there isn’t room to get into the weeds) which may be a benefit and encourages rich concepts to be broken up and spread across several notes. Unlike most digital Zettelkasten tools which allow unbounded writing, The Compendium maintains the fixed-size card-based approach.
  • A collection of text documents of unlimited size (e.g. TiddlyWiki, Obsidian, and, common among digital tools without physical constraints. Unlike fixed-length note cards, this approach allows for more intra-note organization with multiple levels of headings, etc. While with this approach I find it easy to make notes “too long”, I like being able to fit everything in one place before choosing how to split it up.
  • An infinite outline in the form of a bulleted list, which I first encountered in Workflowy and later Dynalist and Roam. This approach leans heavily into hierarchical organization which was great for lists of things when I used it but not so great for permanent notes, though Roam interestingly combines the infinite outline with collection of text documents approaches in allowing paragraphs and headings within individual list items. After all, as the Document Object Model (DOM) shows, HTML documents are essentially nested lists of prose.
  • Streams of notes is the approach Flowdex takes, seemingly inspired by Slack. You (and others) post an endless, chronological stream of notes organized within topics. Since chronologically is often the least interesting way to sort knowledge, Flowdex allows marking notes as “Important” to make them easier to find, but as anyone who’s ever received an email marked “❗️Important” knows, importance is often highly contextual, so I’m skeptical. I’m also reminded of the influential essay “The Garden and the Stream” which touts the benefits of digital gardens specifically in contrast to the stream approach taken by most social networks.
  • A collection of annotations of other documents, the approach taken by Worldbrain’s Memex. Memex is organized around highlights from and notes about individual web pages, where the stuff within your personal knowledge base is organized around stuff not within your personal knowledge base. Given how much of others’ words I end up copy-pasting into to write about them, I’m very interested in this approach. It’s like the inverse of transclusion: instead of pulling someone else’s writing into your knowledge base, you overlay your knowledge base on top of everyone else’s writing.