The Destiny of Your Notes Depends on Their Data Model

It feels a little overwhelming to observe the sheer number of note-making apps that promise to “revolutionize your thinking” or something similarly impressive.

I came across a website called the Markdown Handbook, which lists about forty markdown editors and that’s just the tip of the iceberg.

If you’ve felt it’s too much, you’re not alone. Most of these tools offer endless variations of the same features, minor tweaks disguised as major innovations. We have an abundance of options, yet precious little genuine progress.

And with AI ‘vibe-coding’ the field is expanding beyond all comprehension. Everyone can build their own writing app now and some of them look pretty good too. Joan Westenberg’s app Kerouac is just one example of how good the results can be.1

Recently I read Matt Brown’s essay “Your Data Model is Your Destiny,” which explores how software companies are shaped by their fundamental data structures. Now he’s an ‘early-stage investor’, writing for a tech start-up audience, but I got it into my head that his principle very much applies to note-making too. Even for something as simple as making notes, the underlying data model, the way your knowledge is stored and connected, determines a tool’s power and longevity.

So even though it’s a little hidden, the data structure of a note-making app matters far more than do flashy features or elegant interfaces. But the data structure is often hard to explain, and so the creators of these apps tend not to explain it.

Understand the Zettelkasten Data Model

The Zettelkasten approach to making notes, developed (though not invented) by the remarkably productive German sociologist Niklas Luhmann (Wikipedia), represents a very specific data model for thought. This model doesn’t depend on any particular implementation. We’re talking here about what could be achieved using only a pen and a box of paper slips – and how that might be translated into the digital era.

At its core are three simple principles:

  • Atomicity: each note contains only one idea, a single, complete thought. This atomic unit (the Zettel, ’note’ or ‘slip’) becomes the building block of your entire system. Luhmann never mentioned atomicity because he didn’t need to. Using A6-sized paper slips, this point is obvious: one note equals one thought, simply because you can’t fit many thoughts on a single paper slip.
  • Interconnection: the Zettelkasten creates knowledge through reference links that form a web or graph structure, where ideas reference and strengthen each other. Luhmann did this, whereas many others didn’t. And crucially,
  • Non-hierarchy: the system prioritizes organic association over rigid folder structures.

This model of making notes creates what I’ve experienced as a compounding advantage. Every new note you add strengthens your entire network by adding potential connections. Like compound interest in investing, each contribution multiplies the value of everything that came before. Your twentieth note might connect to three previous ones; your two-hundredth note might illuminate patterns across dozens. As it grows, the system gets smarter. But because you’re doing this linking yourself, not handing it off to AI or your personal assistant, there’s a limit to how many links you can make. So you have to be selective and this very selectivity ensures the links you make actually mean something. They’re significant to you, and because of that they may be significant to others too.

Work With the Grain, Not Against It

If you want to build a Zettelkasten, or indeed any other kind of note-making system, you’ll do best by choosing software that works with the grain of this data model, not against it. Fighting your tool’s natural tendencies is confusing, exhausting and ultimately futile2.

Most digital note-taking systems actively resist the Zettelkasten approach. Or, rather, by prioritising their own data model they de-prioritise the users’ actual needs.

Document-centric tools like Microsoft Word have a clear destiny: creating polished, linear documents stored in static files. Trying to use Word for atomic, interconnected thinking is like using a sports car to plough a field. It’s technically possible, but the tool fights you at every turn.

Hierarchical systems like Evernote or OneNote are built around deep folder structures and notebooks. Their architecture assumes you know where things belong before you create them, which stifles the free-flowing, emergent organization that makes Zettelkasten powerful.

There’s another dimension to this proliferation of note-making apps worth acknowledging: much of it is an ongoing war of position between competing companies, each trying to lock users into their particular data model. In pursuing differentiation, it may look like the tech companies are matching their products to your needs, but in reality they’re just trying to find a point of difference from their competitors, so they can then lock you in.

As Matt Brown says in his article (written for the producers of software, not the consumers), “your data model is the foundation of your moat.” In other words, by using a specific data model they intend to lock you in to their particular way of doing things and to make it painful for you to leave. The confusion I’ve felt over my choice of app isn’t entirely organic; it’s partly manufactured by these conflicting commercial interests.

Match Your Tool to Its Destiny

To navigate all this, I’m going to suggest a framework for thinking about tool alignment with the Zettelkasten model. This arranges digital Zettelkasten tools according to how closely aligned they are with the principles of Zettelkasten note-making, from lowest to highest compatibility:

  • Low Alignment tools, I’m sad to say, actively work against the grain of the Zettelkasten approach. Microsoft Word, Google Docs, and Scrivener are all designed for linear output: documents, manuscripts, and projects with clear hierarchies. These tools rely on a 1990s paradigm. They expect that your output will be printed pages, probably from a printer in the corner of your office or beside your desk. That’s fine if you just want linear output and nothing else. But using them for networked thinking requires constant workarounds that the software doesn’t properly support, or even works against. If you’re already a super-user of one of these tools you might be drawn to creating a Zettelkasten with what you already know. I mean, I’m sure you could do it with Excel (!?*#!). But you’ll probably end up feeling like the Zettelkasten approach is unwieldy. The tool itself, with very limited alignment to the Zettelkasten approach, will have caused that feeling. With a better-aligned tool you may feel quite differently.
  • Moderate Alignment tools are an improvement. They can accommodate Zettelkasten principles, but using them this way demands discipline. Evernote and OneNote are notebook-centric, which makes linking secondary and atomicity difficult. These tools, in effect, copy the filing cabinet, a marvellous invention which was devised towards the end of the 19th century. The idea is that perfect storage and retrieval just means putting everything in the right file. I’ve tried this. I ended up with a pile of folders that looked organized but were actually quite chaotic. Notion deserves special mention here: despite its flexibility with blocks and databases, its default mode encourages large wiki-style pages that resist the simplicity of atomic notes. You can build a Zettelkasten in Notion or similar, though you’ll still be swimming upstream.
  • High Alignment tools, finally, embrace the networked Zettelkasten model. TiddlyWiki stands out with its unique single-file architecture where every note is a “Tiddler”. This provides strong, very deliberate atomicity. Its internal linking and tagging make it inherently web-like and Zettelkasten-ready, despite storing everything in one file. It’s also very durable; As long as a web browser exists to read the file, it will last forever. Obsidian, Roam Research, and Logseq are explicitly network-centric, built on bidirectional linking and designed to make the Zettelkasten method their natural use case. Tools like The Archive and Zettlr are interesting because they start from the basis of a simple plain text editor then add a few important features that make working with a Zettelkasten easy. They have even more chance of enduring over years and even decades.

A note of caution:

Even within the high-alignment category, there’s a critical tension between the software layer, i.e. the interface and tools you use to think, and the data layer, that is, the actual files and syntax left behind.

TiddlyWiki, for instance, achieves its unique durability by merging these different layers into a single HTML monolith.3 This merger might seem elegant (to some?) but it creates a distinct data-layer quirk: it relies on its own “Wikitext” dialect and it includes macro calls that don’t translate to any other app.

For example, here’s a way of trascluding just the text of a note (without its title or ID): <$text text={{MyTiddler}}/>. While this markup is human-readable I suppose, it is a non-standard syntax that isolates your notes from the wider Markdown ecosystem, and would need significant translation to move elsewhere. Sure you can do this, but it will involve some friction.

Logseq meanwhile presents a different challenge. The software’s outlining “engine” dictates the structure of the data layer by forcing every thought into a bulleted list. Even though the files are technically Markdown, the software layer’s preference for blocks over paragraphs might make prose-heavy notes feel unnatural and forced.

Obsidian appears to offer the most traditional separation of layers by using standard files, but it introduces a “functional lock-in” through its software-layer plugins. If you rely on specialized features like Dataview or unique block-referencing to navigate your network, your open data layer effectively becomes trapped inside Obsidian’s specific environment, as the notes lose their intelligence once viewed in a standard text editor. And if you’ve customised your instance of Obsidian with a whole heap of plug-ins, you might find your notes only make sense using your own version and not even any other version of the same app.

Navigating these trade-offs involves recognising that a tool’s alignment with the Zettelkasten approach often depends as much on the software’s functional constraints as it does on the portability of the underlying files.

The purest expression of this model occurs where High Alignment software meets a High Portability data layer. In this category, the data is stored in plain-text Markdown. This is a format that guarantees atomicity, longevity, and zero vendor lock-in.

That said, the files themselves are merely the substrate. The ‘Alignment’ part comes from sophisticated apps like Obsidian, Zettlr, and The Archive, which act as logic engines for this data. They display the text but they also parse unique identifiers and links to transform a folder of static files into a dynamic and networked web.

The implementation is simple.

  1. Create a folder on your computer.
  2. Each note becomes a single text file with a unique identifier in the filename, typically a timestamp like 202410271430.md or 202410271430.txt. Alternatively you can use simple running numbers (just start at number 1 and keep going), or ‘Folgezettel’ (where you continue idea 1 on note 1a, for example).
  3. Write one idea per file.
  4. Link to other notes by referencing their identifiers within the text, either as simple references (see note 202410251200) or as Markdown links ([[202410251200]]).

That’s it. You can search across files using your operating system’s built-in search, or use any text editor that supports folder-wide search. The system is portable, future-proof, and completely under your control.

I personally like to include a human-readable title alongside the unique ID in the filename, something like 202410271430-data-models-are-destiny.md. That way, when I browse my folder of notes, I can immediately see what I’ve written about without opening each file. It’s a small convenience that makes the system feel more navigable.

What about working cross-platform?

A major consideration in choosing your notemaking tools is how well they work across platforms.

In an ideal world I’d be able to access and edit my notes without friction on my phone, iPad, laptop and desktop computer. A note-making app is like a camera: the best one is usually the one you have to hand. Yes, cross-platform working is important, but I’m suggesting here that the underlying data model is even more important.

Because all these platforms are different, a common ’solution’ to the problem of compatibility is to rely on a cross-platform app. But many of these themselves rely on their own specific data model. You might be able to use the app across many different platforms, but now you’re locked into using that one specific app.

But if your data model remains consistent then files can potentially move seamlessly between platforms and between apps on those platforms.

My solution is to avoid getting locked into a cross-platform app, and to settle on a cross-platform data model, even if this requires using different apps on different platforms to implement it.

Right now I’m drafting this article on the train, using 1Writer on my iPad. I don’t use 1Writer on any other platform (it’s iPad only as far as I know). But my notes are plain text Markdown, which means I can easily edit them from anywhere. On Windows, I was using Zettlr. But I can also use any text editor I like (and I like Sublime Text and MarkEdit). Ultimately, I find this approach not perfect but more flexible than the alternatives. The key point: the app is less important than the data model.

Recognize What Your Choice Implies

A data model defines what is ‘easy’ (its destiny) and what is ‘hard’ (its resistance). In other words, the architecture of a tool quietly determines your workflow by smoothing the path for certain tasks while erecting structural barriers against others.

Microsoft Word supposedly makes beautiful documents ‘easy’ and atomic linking ‘hard’. Obsidian makes networked thinking ‘easy’ and linear manuscripts ‘hard’ — or at least harder.

What matters is that every time you write a note, you’re choosing a data model, whether you realise it or not.

It’s important for anyone serious about building knowledge over years or decades to recognise the long-term implications of this choice. Are you building a static filing cabinet that will eventually collapse under its own weight? Are you building a temple of tags that will inevitably topple? Are you building a temporary document that serves a single project? Are you building a dynamic, growing knowledge graph that becomes more valuable with every addition? Yes, you can probably tell this is a rhetorical question. But however you answer, your tool’s data model will determine which of these futures is effortless, which is a slog, and which is nearly impossible.

When effortless is within reach, don’t keep slogging.

Further reading:

Why your writing tools don’t quite work the way you want them to - and what to do about it

Atomic notes and the unit record principle

Is there a Zettelkasten method?



  1. To be fair, this app does a whole lot more than just notes. It sorts out posting to multiple blogs, for example. The point is, it looks really good. ↩︎

  2. I know what you’re thinking: a group of three, ’tricolon’, is an AI writing tell. But I did this myself, with my own brain and without apology. ↩︎

  3. Though you can instead set it up as individual files using node.js. ↩︎

“do not research simply to decorate your writing with impressive names and references. Research should extend your thinking, not replace it.” — Alexis McElroy, The Muse & The Melody, How to Turn Your Thoughts Into Something Worth Reading. Substack

nvALT is back from the dead?

Surprising news that Brett Terpstra has resurrected the venerable note making app nvALT. Yes indeed, nvALT is back from the dead.

True, we’ve been waiting what seems like centuries for the long-promised, upgraded and massively improved version, nvULTRA to appear, but since it isn’t yet available, at least now there’s an interim solution, a revamped nvALT.

I expect almost everyone who might need a simple note-making app that plays nicely with Markdown files has already long since moved on to other options, such as any one of many text editors, or MarkEdit on the Mac, or nvENVY, or The Archive or Zettlr, or Obsidian or Bear — or you name it.

Still, it’s nice to see nvALT, the (almost) original and (possibly) the best, back in action. Maybe it’ll also encourage a few people to check out Brett Terpstra’s app Marked3, which for anyone working with Markdown files is rather useful. It’s billed as a ‘Markdown preview’ app but it does a whole lot more than that, including things I didn’t know were possible1. And I can confirm that the latest release of nvALT works well with Marked’s ‘streaming preview’ feature.

A while ago, Christian of zettelkasten.de produced a handy guide for using nvALt as a Zettel note archive, though the specialised Zettelkasten apps, The Archive and Zettlr add features that some fans of this approach to making notes may well find indispensable. But since life is complicated enough as it is, I’m an advocate of using the simplest tools you can get away with for A minimal approach to writing notes, and nvALT is useful, fast and simple.

And talking of simplicity and of the (almost) original, the real OG, the venerable Notational Velocity, has been receiving updates recently too, after a long dormancy. It seems to have come back to life with a new release after a remarkable fifteen year gap.

Interesting that these note-making apps still seem useful and relevant after all these years. And hold onto your hat: for the long-awaited nvUltra release, apparently Brett is ‘shooting for 2026 still’.

Now read:


  1. Just now I discovered Marked3 will verify your hyperlinks for you and can even do so automatically. ↩︎

I really like writing while on a train journey, and this article about a crazy train trip project in Japan is inspiring. Japan Today.

#WritingLife #Japan #productivity

💬 “I still think the real revolution is to make the world safe for poetry, meandering, for the frail and vulnerable, the rare and obscure, the impractical and local and small.” – Rebecca Solnit

Via Bradley Andrews

💬 “Cut anything into tiny pieces and it all becomes a mass of confusion.” — Seneca, Epistulae Morales, 89.3. Cited by Michel de Montagne in ‘On Experience’ in The Essays: A Selection. Trans. M.A. Screech. London: Penguin Books, 2004. 3.13, 366.

This is true, potentially, of writing notes. It’s too easy to produce fragmentary knowledge.

The solution? Link your notes and create hub or structure notes (there is a difference — see Bob Doto’s post for details) that cluster separate ideas together and lead in useful directions.

📷 In Brittany, France, there’s an area they call ‘La Côte du Granit Rose’ – the Pink Granite Coast. I was happy to find a corner of the New South Wales coast that’s really quite like it.

A rocky coastline with patches of greenery meets a calm sea under a cloudy sky. A long beach stretches out into the distance.

Birubi Point at Anna Bay, NSW.

A rocky cliffside overlooks the blue ocean under a partly cloudy sky. A coastal walking track map highlighting points of interest and access paths around Tomaree National Park in New South Wales, Australia.

📷 I’ve taken a few days out to walk the coast. It was… well, you can see for yourself what it was. This might explain why my writing here has been even slower than usual. But now I’m back, and normal service will resume shortly.

A scenic coastline featuring a sandy beach, an island, clear blue water, and hills covered with vegetation under a partly cloudy sky.
A quote by Karen Russell compares writing a novel to scaling Mt. Everest and passing by your own bones on the way.

In Matt Bell’s excellent book on writing, Refuse to be Done, there’s a quote by Karen Russell, author of the excellent novels Swamplandia. and The Antidote. She says,

💬 “Writing a novel is kind of like scaling Mt. Everest and passing by your own bones on the way.”

Respect is due, but I can’t help feeling it might not be quite that hard.

A book titled Refuse to Be Done: How to Write and Rewrite a Novel in Three Drafts by Matt Bell is shown on a desk.

#writing #climbing #writinglife

💬 “We seek to preserve peace by fighting a war, or to advance freedom by subsidizing dictatorships, or to ‘win the hearts and minds of the people’ by poisoning their crops and burning their villages and confining them in concentration camps; we seek to uphold the ’truth’ of our cause with lies, or to answer conscientious dissent with threats and slurs and intimidations… I can no longer imagine a war that I would believe to be either useful or necessary. I would be against any war.” – Wendell Berry, The Long-Legged House. (1969). p. 80.

Still true 😞