Composability is the only game in town – Roam, shipping containers, Lego and Twitter.

Lego Blocks, Shipping Containers, Roam Research, Open Source, and any other unreasonably successful endeavor follows the fractal design of composability.

Epistemic confidence: 3/5. I intend to return to this post in the future.

Shipping containers

The current iteration of global capitalism is built on the backbone of a shipping container. Not the car nor the plane. As much as I do think the washing machine is transformative (and do check out this TED talk by Hans Rosling), it didn’t have an impact as huge as the shipping container.

From vgr’s “The Epic Story of Container Shipping”:

At the beginning of the story, total port costs ate up a whopping 48% (or $1163 of $2386) of an illustrative shipment of one truckload of medicine from Chicago to Nancy, France, in 1960. In more comprehensible terms, an expert quoted in the book explains: “a four thousand mile shipment might consume 50 percent of its costs in covering just the two ten-mile movements through two ports.” For many goods then, shipping accounted for nearly 25% of total cost for a product sold beyond its local market. Fast forward to today: the book quotes economists Edward Glaeser and Janet Kohlhase: “It is better to assume that moving goods is essentially costless than to assume that moving goods is an important component of the production process.”

Shipping containers are standardized and composable. Much like the most successful software.

Open Source, and UNIX philosophy

As much as the container is the backbone of the current economy, the software will be the backbone of a new one that we all help to build. If we take the “evolutionary” definition of success, the most successful piece of software will be some obscure low-level library or a Unix tool running on every modern device. Here are the first two Unix principles according to Wikipedia:

  • Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”.
  • Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.

As you can see, these are interlocking – do one thing well, and build “higher” when connecting more things that do one thing well. In my mind, Unix philosophy, Open Source, and building an information economy go hand in hand. Each next iteration can stand on the shoulders of giants, using the abstractions built by previous developers. We don’t have to sync time anymore, allocate memory, or deal with disk I/O operations. We can use ready tools to do just that, to focus on building something more complex.

Roam Research

You may have heard about Roam Research – a Note-Taking app that has gained a cult-like following, and a $200 million investment at a $900 million valuation. If you have not heard about Roam before – Anne-Laure has a good introduction. If you feel like note-taking is suddenly hip without any reason, I have an explainer here.

How has Roam gained this popularity? Is it all a scam? After trying it out – I’ve noticed two aha moments:

The first Roam AHA moment

You discover, that the expected value of your notes grows exponentially. If I have a 1:1 (a 2-person Team-Lead <-> Team member meeting) with David, I can type [[1:1]] with [[David]] and I create notes simultaneously:

  • As my TODO in the daily note
  • On the page called 1:1
  • On the page called David

During the day – to the day I can also create a note [[David]] posted a good post here: (link).. When I later visit [[David]] page, I can see the history of our 1:1s and all data I meant to include in the formal feedback when the time comes.

Even though I have never visited or even created “David” page before.

This “higher expected value of each line of notes” is like crack – gets the thoughts out of my brain faster than any other tool, since it’s rewarding bringing concepts together.

The second AHA moment is all about composability

The real kicker is the second AHA moment. In Roam, not only EVERYTHING is a block, but also the blocks interact with each other sensibly while nested


No interface, I just nest bullets and table appears


I create a Kanban the same way I create a table – since everything is an interplay of nesting, I immediately know how to create this Kanban. Gutenberg is already pretty good at this – we are trying to follow similar patterns across our blocks, but there are a lot of custom interfaces.

How about table in a Kanban?

EVERYTHING is composable

Ok, enough about Roam Research. The message is that composability let’s you be way more creative by knowing a few basic principles. But to call something “composable”, we have to have:

  • A canonical unit of “thought”
  • Multiple nesting levels
  • Lists of things behave differently than things themselves

What about functional programming?

I do realize, that composability is an aspect of functional programming, and nothing new to the fans of closure, lisp, or even a functional approach to writing plain old JavaScript.

  • Roam Research is written in closure, and transpiled to JavaScript
  • Paul Graham (a startup demigod and a very clear thinker) is continuously playing with Bel – a variation of LISP

I do appreciate the elegance of a purely functional language and after realizing the closure-roam-research link I can see how that mindset translates. But nevertheless – relying on the language to translate into a better product is ignoring the messy complexity of the real world.

In the real world (unlike the comfortable world of the algorithms), the program has to interact with the vast spectrum of inputs and outputs – thus npm with its library of packages may be better representing composability than any functional language. In the end, composability’s goal is to achieve real-world results with simple, easy-to-reason blocks. And yes, I credit React’s success to the composability of JSX.

Writing on the Internet

Publishing on the Internet at its core is composable too. We can argue if the sentence, a paragraph, or a blog post is the canonical unit of clear thought, but blogging lets you organize the uneasy mess of “stuff” into coherent blocks you can compose into more and more clear reasoning. The linear structure of the page lets you examine each and every paragraph for doing what they are supposed to be doing. The list of paragraphs is just like a row of containers organized in a higher-order unit (a ship) that makes it easy to move.


Twitter is similar to Roam in more ways than one. To the casual user, it’s a hellhole of political arguments and fabricated urgency, but for those who know how to use it, it has almost infinite expression power based on simple rules.

Twitter Threads are composable.

Remember the requirements for composability I have outlined above? Twitter satisfies them all.

  • A tweet is a self-contained complete thought
  • Threads let you organize these thoughts into more complex narratives
  • You can nest and recombine them at will

Sidenote: Follow Visakan (a master of threads) if you want a kinder, more productive Twitter.


WordPress has introduced a new, block-based editor for your posts and pages. The underlying premise is that everything will be a block, unlocking new mental models for users of the CMS powering close to 40% of the Internet. I am proud to help make this vision a reality.

Composability succeeds because it enables cooperation

When evaluating a product or endeavor we tend to focus on metrics, features, and shiny checklists:

  • This has more bloblybums,
  • That is soo shiny,
  • The other thing succeeded because it’s just faster,

But over the long term, the thing that succeeds tends to do so, because it makes it easier for people to work together. Composability is a framework for putting new layers of abstraction in a predictable manner.

An average human can hold about seven items in short-term memory and successfully cooperate in a team of seven people. Composability reduces the cognitive load by organizing things into higher-order sets, which in turn – can be reasoned about or reduced further.

Notable mentions

Other, successful composable things include:

  • Lego blocks,
  • Written word (letters -> sentences -> paragraphs -> pages),
  • World Wide Web and HTML
  • Matter in the Universe (The Elements are comprised of the same 3 building blocks)
  • Memes (TikTok in particular)

Notable exceptions

Despite my clickbaity title, there are successful endeavors that are NOT composable:

  • App Stores / App economy – apps usually don’t mix with each other

Anything else?

What is going on with all those note-taking apps?

If it seems that every day a new Note-Taking app hits the market, that is correct. The last few years have brought us Notion, Roam, Obsidian, Foam, and about 20 more I can’t remember.

From the outside Note-Taking or more accurately, Personal Knowledge Management may look like a solved problem. You take a piece of paper, and we’re done with it, right? And why do we need so many notes anyway?

My psychology Master Thesis was about just that: a particular aspect of the fallibility of human memory called The Source Monitoring Error. Scientific research of human memory is in total agreement: it’s terrible, fragile, easily manipulated, and not to be trusted. During the painful birth of my thesis, I adopted Evernote as my “Second Brain” and happily used it for the last 12 years.

All human progress is based on some forms of Note Taking. Books are notes prepared for sharing, and almost all software is some form of a notebook – that is why the field is called Information Technology.
When ideas are captured and shared, they can be improved upon and serve as building blocks of new ideas (also Leonardo Da Vinci’s notes are fascinating to this day).
When Gutenberg first introduced machinery to the note-taking process, it was kind of a big deal. So, what new has happened in the field over the last few years? Why the sudden revival of interest in note-taking tools?

Second Brain

In 2017, Tiago Forte has started releasing his “Building a Second Brain” course, which is now teaching it’s 11th cohort of (over 1000) students. The course addresses the “Post-Scarcity” nature of information in today’s world:

And many people become “infovores,” force-feeding themselves endless books, articles, and courses, in the hope that something will stick

How do I make what I’m consuming right now easily discoverable for my future self?”

Tiago started with Evernote but has moved to an app-agnostic methodology of storing, retrieving, and summarizing information based on David Allen’s ideas from Getting Things Done.
Here is a basic overview of Tiago’s methodology:

  1. Every notebook/folder should be organized in one of the PARA groups (more in this article on Tiago’s site)
    1. Projects that have a deadline (for example a Blog Post)
    2. Areas where you need to perform at a consistent level (say, your Marriage)
    3. Resources which will serve you in the above endeavors
    4. Archives for cold storage (say invoices in case of a tax audit)
  2. You should store your notes in a place where you will need them next time
  3. You should progressively summarize your notes every time you touch them, so they become more refined and “your’s” over time (more here).
    1. The first time you stumble upon a note, you may bold the interesting passages
    2. Then next time you highlight the most relevant parts of that
    3. Third time you look at a note, you may rephrase it in your own words and that will be perfect for just Tweeting

Sönke Ahrens

Also in 2017, Sönke Ahrens published the book “How to Take Smart Notes” exploring the productivity system of Niklas Luhmann called Zettelkasten (“slip-box” in german). Each note in Zettelkasten is devoted to one idea and then are connected via strands of references:

Luhmann wrote down interesting or potentially useful ideas he encountered in his reading on uniformly sized index cards

He wrote only on one side of each card to eliminate the need to flip them over, and he limited himself to one idea per card so they could be referenced individually

Each new index card received a sequential number, starting at 1. When a new source was added to that topic, or he found something to supplement it, he would add new index cards with letters as suffixes (1a, 1b, 1c, etc.)

Thanks to the book, Zettelkasten entered the public discourse inspiring new developers to create more Note-Taking apps. (Tiago also has a great summary of Sonnke Ahrens’s book.)


I won’t dive into Notion, because I have dismissed it as another note-taking-app-du-jour. Since my elaborate Second Brain already is in Evernote, I wanted to avoid switching costs. And it seems I was right – Roam appeared just after Notion was touted as “the best and final note-taking system”.

Roam Research

Can you guess when Roam started? Yup, Roam White Paper was written during the winter of 2017/2018. ( Here is a good primer on the tool ).

The app directly implements and expands ideas of Vannevar Bush’s Memex and Niklas Luhmann’s Zettelkasten – every note is a node in the graph, connected to the lattice of other concepts. This is exactly like human brain stores memories and what convinced me to try it out.

What made it stick is that it starting delivering on the original promise of the White Paper:

At the simplest level, Roam’s structure makes it inherently easier to store, recall, and cross-reference ideas. This is the primary proposition for students, writers, self-directed learners, and users of existing note-taking apps. For power users, the knowledge graph also unlocks applications in logic and reasoning, Bayesian inference and decision-making, modeling complex problems, and collaborative research.

For me, Roam has the biggest Braindump Bandwidth from everything I tried. It’s like thoughts are downloaded via a Neuralink.
I think it’s the confidence that I don’t have to worry about finding this note later that gives me the energy to just write.

Using Roam and Evernote together

I outlined the elaborate system of bots connecting to my Evernote account in an essay about my philosophy of automation. Naturally, I didn’t want it going to waste. Furthermore, as Anne-Laure Le Cunff asserts in How to Choose the Right Note-Taking App, Evernote serves perfectly as a library, whereas Roam is a fantastic garden.

Long story short: I built a tool to migrate my notes from Roam to Evernote automatically every evening. I get the benefit of sparking new ideas in my Roam Graph, but I can retrieve them quickly in Evernote, which has an unmatched search mechanism. It will also make the transition smoother. Here it is:

If you use apps like Pocket, Kindle,, Medium or any other tool that allows you to highlight text, Readwise is a also fantastic tool that syncs to Roam, Notion, and Evernote.
You will have your book and article highlights ready to use right in your database.

What should you do?

By now it may be pretty obvious that I treat note-taking seriously, but it’s not about fancy tools – for the last 12 years I used ‘basic’ Evernote and enjoyed tremendous benefits.

You can use Apple Notes, Google Keep, or a paper journal – anything but your head. Just remember, that notes are meant to be revisited, used, and processed in context. It’s not about hoarding but enjoying a wider perspective inaccessible to those without a second brain.

Aside: I don’t know if the major note-taking developments of 2017 are related, but Information Technology is full of independent similar breakthroughs- it seems that Zeitgeist is more important than we think. Innovators by Malcolm Gladwell covers that nicely