Welcome to this edition of our Tools for Thought interview series, where we meet with founders on a mission to help us think better. Dmitriy Fabrikant is the founder of Knovigator, a tool to write with re-usable knowledge building blocks, designed to offer effortless creativity and collaboration. Knovigator uses threading and branching to help users create context and connection in their thinking, research, and conversations.
In this interview, we talked about how to integrate writing and research and avoid context switching, how cryptocurrency can help build an attention market and surface the most relevant content, why we need to build a social knowledge base, the concept of “search gardening”, and much more. Enjoy the read!
Hi Dmitriy, thank you so much for agreeing to this interview. How would you describe Knovigator to someone who has never heard of it?
Thank you for the opportunity. Knovigator is a social knowledge base that uses infinite-threading and crypto microtransactions to curate and create valuable content. You can use it as a personal tool for thought to wield knowledge and manage your information flows. You can create streams and invite others to them to participate in asynchronous conversations with your team or community while using microtransactions called Upvalue to curate your best insights. Or you can broadcast publicly and be rewarded for your good taste by curating humanity’s best knowledge via an attention market. The three main features that make Knovigator unique are Infinite Threading, the Fusion of Writing and Research, and Upvalue Microtransactions.
These sound interesting, let’s break them down. First, can you tell us more about Infinite Threading?
I believe our communication tools are fundamentally flawed. They all suffer from something I am calling the “multiplex problem”. The multiplex problem occurs because all of our conversations are single threaded and cannot accommodate the associative, branching way in which both our thinking and conversations naturally flow.
In telecommunication, multiplexing is a networking technique to enable sending multiple messages simultaneously over a single, scarce communication channel by breaking up the message into chunks and mixing them in such a way so as to be able to reconstruct them on the other side without losing their meaning.
We are forced to do the same thing when we write inside a one dimensional chat UI, analogous to the telecom channel, where we must mix our ideas and conversations as we write. We must then reconstruct the mixed messages into the topic threads they actually represent.
For example, if I am writing about cryptocurrency, I might immediately be inspired to write about bitcoin, but also ethereum. In a one dimensional writing space it is unclear how to allocate the single thread to multiple topics. We typically use white space to stagger our thoughts, or open new documents and tabs requiring expensive context switching. These hacks increase the overhead of recording sometimes fleeting insight.
This same problem occurs in real time chat tools when our conversation naturally diverges among multiple paths. The problem is made worse when other participants converse in the same UI thread about different topics, so our messages mix together, forcing us to untangle the topic threads.
The catastrophic consequence of this is that your communication tools cannot be effectively searched. This is because getting back a particular message in a search result does not bring back the conversation of which it was a part. This turns almost every community chat tool into a synchronous experience of generating an insight only to watch it scroll away forever into a content black hole.
A one dimensional thread is not the correct data abstraction to effectively house our thinking and conversation. Instead you need multiple threads, one per topic, that can branch to capture the associations your mind will inevitably make.
The result is that no matter how many participants there are, each line of thought gets bucketed in its own thread, as part of a thread tree, with inspired ideas isolated in their own branches. This structure emerges organically, as you write or converse in Knovigator, removing the friction of having to play with white space or switching contexts, unlocking a creative flow state and expanding your mental bandwidth.
Having each topic in its own thread means that when you search and find a matching message, you also get the context in which that message was said to understand its meaning and take an action, like re-using the insight in another thread, or sharing it with someone.
Because the thread is part of a tree, search becomes more forgiving, as a match might not give you exactly what you wanted, but would place you in a familiar context which you can traverse to get to where you wanted to be.
Finding relevant prior work means you can continue to expand on it, making both writing and conversation asynchronous activities that you return to at your convenience rather than an ephemeral exercise.
Your writing and conversations become knowledge assets to be invested in. Knowing you can find something again means you can begin to value it. To really take advantage of this new-found power, Knovigator fuses the act of writing and search into a single experience so that the content you care about shows up when you most need it.
And how exactly do you integrate writing and search?
Knovigator draws a lot of inspiration from Twitter and its threading model. In fact, one way to understand Knovigator is to imagine Twitter conceived as a personal and social tool for thought, rather than strictly a real time broadcast medium. Both Twitter and Knovigator enable you to write collections of granular messages called threads, and then connect these threads into networks of thought that others can explore.
These connections are created by finding and quoting relevant messages from other threads into the thread being drafted, with each quoted message being a link to that other thread. This practice of quoting, to reference prior work, is powerful because it lets us re-use our insights, and introduce readers to relevant content they might wish to explore. In Twitter, there is friction in doing this.
To illustrate why, let’s imagine how I might quote a Twitter message into a thread I am drafting. Starting from my thread draft, I would typically open a new tab, navigate to Twitter, copy a link to the content, switch back to my original tab, paste the link, and hit publish.
Knovigator removes much of this context switching by turning the writing prompt into a search bar and showing search results directly below. In Knovigator, every writing prompt is also a search bar, and the draft text in that writing prompt is a potential search query waiting to be executed.
As I write a thread, I can hit search at any time and get back messages relevant to my work. Each message has a quote button, that when pressed, quotes the result back into the thread I am writing. There is no context switching, no new tabs, no copy and paste. Just search and quote from the same user interface where you write.
This blurring of lines, between writing and research, combined with the thread-tree structure that Knovigator introduces, means that I am always just a few clicks away from finding and using my most relevant content for the task at hand.
Having the confidence that I will be able to find things when I need them, with minimal organization, allows me to get into a generative, creative flow state with little worry about how I should be organizing what I write.
As my writing and research accrue, however, the challenge becomes: how can I prioritize that content and make decisions about where to focus my attention. For this we can harness an ancient prioritization technology called… Money.
I assume that’s where upvalue microtransactions come in?
Yes! When we start recording our thinking and growing a knowledge asset, we quickly run into a problem of what to focus on. If you do enough curating, the volume of curated content begins to require its own curation. Rather than a system of organization, a need arises for a system of prioritization.
Knovigator uses an attention market to prioritize what content we see. We can “upvalue” — like upvoting but with small amounts of money — to reward the creator of a message and to boost that message in search rankings.
Knovigator relies on an integration with a cryptocurrency called BitcoinSV to do this, which allows tiny transactions with extremely low fees, enabling us to reward content with as little as one cent.
Using small amounts of money requires a small sacrifice. These exchanges of value small acts of creation, recording users’ subjective judgement in the objective world. Sacrificing value, rather than using likes or upvotes, creates a more honest signal reflecting the upvalued content’s worth.
This works even in single player mode, where pricing the content I create and consume enables me to rank order it. In this way, I signal to my future self which of my todo lists, drafts, or curated knowledge really deserves my attention and can quickly take action. This process happens over time, with even older content bubbling to the top through the attention I purchase for it.
My thesis is that when deployed at scale, using a market where users value content in real time will be superior in surfacing quality content to the ad driven model we use today. An attention market will align incentives where the best content is incentivized, boosted, and has a permanence that is missing from the real time feeds we use today. We can use upvalue to take part in a global, collaborative, curation exercise where we are rewarded for spreading valuable knowledge — a social knowledge base.
A social knowledge base… What do you mean exactly?
There is so much information out there. We have the incredible freedom to pursue any endeavor, any learning that we desire. On the other hand, the volume of information is challenging because there is so much to choose from, it’s hard to know what to trust, what is quality, and it takes knowledge work to figure those things out.
We do this work in our own little silos, constantly searching, going down rabbit holes, seeking hacks and paradigm shifts. Sometimes we find the gems among the shitposts and write down what we learn.
Our learnings and the writing they inspire might inform some creative act: a Twitter thread, a blog post, book, or youtube video. The final product is shared, but the knowledge work that went into building it often never sees the light of day.
The rise of digital gardens, the idea that growing a knowledge asset over time, and sharing it with others is useful and interesting, is a peek into the future, but even here we typically grow our gardens in our own little corner of the web.
My aim for Knovigator is to be a place where we can combine forces and turn these digital gardens into infinitely-branching digital forests. I want the work we are already doing to be automatically shared with, and informed by, the people who care most and who have an opportunity to reward us, and for us to reward them, for work that we find valuable, even with small amounts of money as little as one cent.
If we do this at scale we will create a market for knowledge work, incentivize more valuable content, and make the best of it available to everyone at the moment they most need it: a social knowledge base to prioritize human attention on a personal, communal, and global scale.
Such a marketplace for knowledge sounds powerful indeed. Just to take a step back, how did you get the idea for Knovigator?
In 2008 the real estate market crashed and so did my family’s real estate development firm. I had a computer science degree, which I never got to use. I decided to see if I could remember any of the things I learned in college and build a web app. The problem was that I didn’t know any web development.
Believe it or not, I graduated before web development was obviously this lucrative thing you should know, so now, I had to teach myself by curating free online resources. A really good way of learning something is to assign yourself a project that you have no idea how to do and bang your head against it until you figure it out. Learning web development is basically running into one technical difficulty after another, and looking up the answer to the question. This inspired me to build a browser extension that records the searches I was doing, and let me save the links and excerpts which answered those searches. Those were the first Knovigator threads and you can still use the browser extension to import links into Knovigator.
For a while, Knovigator was a personal tool that I used to save research and that I showed off to get hired. But even then, I understood the value of growing a personal knowledge asset and I still have all of the research that I did to teach myself web development.
Another thing happened in 2008, Satoshi Nakamoto released the Bitcoin white paper. In 2013, I read it, and it blew my mind. I hadn’t figured out yet how to connect Knovigator and cryptocurrency, but I ended up recording much of the research necessary to understand it in my personal knowledge base.
It wasn’t until people started threading their tweets together that I began to envision Knovigator in its current form. Threading in Twitter was a hack where people would keep replying to their own tweets to mimic longer form writing. Twitter was not conceived as a threading tool. Official threading support was a response to the hacks that users were already doing.
I remember when people were experimenting with the form initially — they would create these “choose your own adventure” stories where you had the option of going down one path if you clicked on the first quote tweet, or telling a different story if you clicked on the next.
I thought, how can you build a system where the content behind those “doors” was the most valuable content relevant to your context? So, no matter what you were reading, you could access the most important thinking about that topic? How could you skip swimming through triviality to get to the life-altering content? Knovigator is my answer.
And how are threads different in Knovigator?
Every thread in Knovigator has a title and a body. In computer science terms you might think about it as the head and tail of a list. Titles describe the content that follows, in the same way a title message in Knovigator is meant to describe the messages that follow in the thread, as well as having controls that sort and filter those tail messages.
Each of the messages in the tail, when clicked on, creates a new child thread of which they, in turn, are the title. You can keep doing this indefinitely — branching a new child thread, adding some messages, and then branching again from those. In this way, you can create a flexible thread tree-structure of arbitrary size and content, which has many uses. One typical use of thread trees is to expand ideas into branches to explore related topics or to annotate your thinking.
In single-threaded tools, hacks exist to mimic multi-threading, like using a different document, or multiplexing topics using white space, but these workarounds cause friction that can keep us from entering our creative flow state.
In Knovigator, I can effortlessly branch off into a new thread, alongside my current one, and explore my thinking in an isolated but connected space. This branching happens naturally because it mimics the way our minds work to associate multiple new thoughts to your current one, and the thread tree is a useful tool to record this process.
The emergent tree structure makes it very easy to get back related messages because they get bucketed together into a single thread rather than mixed together with other unrelated messages. This is especially useful when having a conversation with someone.
With Knovigator, I can invite others to any part of the thread tree to grow it collaboratively in an asynchronous way. In the same way that I can branch off ideas when writing, I can branch off topics of discussion when messaging others, so that each inspired topic of discussion gets its own thread.
In single-threaded tools, the topics of conversation have to be mixed together, which makes it expensive to un-mix them in the future. With Knovigator the messages are part of a thread, which can be part of a thread tree spanning multiple related topics. This “simple trick” turns your synchronous, ephemeral chats into asynchronous conversations, whose usefulness overtime compounds, as more and more insight is added to the tree.
Those are the basics, but you can use this structure to house any kind of content. For example, you could have the top level parent thread be a long-form piece, like a blog post, with each message representing a paragraph that can be commented on and annotated in its child thread. You could paste in existing blog posts to discuss each point it makes by branching off threads from a paragraph or sentence.
You could write an argument where each message is a claim, and put all of the supporting examples in the branch for that claim. A thread could be a todo list, with a discussion of each of the items. For example, Knovigator development is run in a single, sprawling thread tree like this.
All of these use cases and many more are made possible via this thread tree data structure. And of course, the ability to quote from one thread into another means that you can connect these thread trees together into a thread forest of valuable, reusable knowledge.
It sounds like Knovigator is an amazing tool for networked thinking. What are some of the ways users can make the most of threading and branching to explore and connect their ideas together?
I have talked about how Knovigator lets you branch child threads from any of the messages in your current thread, and how this allows you to create thread tree structures to house your writing and conversation.
Another way that Knovigator threads are different from other tools, is that in Knovigator every writing prompt at the end of a thread also doubles as a search bar. When you are writing a message, you can hit search to find any relevant messages in Knovigator to quote them into your current thread. In this way, you can create links between the different threads creating a network of relevant knowledge to explore.
Oftentimes, having teleported to some new thread, you will find that it is actually part of a larger tree structure which you can traverse, and which has its own links to other tree structures.
Another way you can form dynamic links to other content is by writing memes. In Knovigator clicking on this double bracketed text opens a search, returning the most relevant messages, ranked by upvalue, and themselves part of thread trees to explore.
Memes are dynamic portals to the best content recalled by that text as mediated by human beings upvaluing content, as opposed to opaque, AI algorithms trained for the benefit of advertisers.
Now, a bit of a more philosophical one. What do you think is the relationship between thinking, research and conversation?
I love this question. I see thinking as a type of conversation and research as also a type of conversation. Thinking is literally a conversation with yourself. Most of my stream of consciousness is just me talking silently in my head. Knovigator just gives me an opportunity to record this stream, and return to it when I can make the best use of the ideas.
When I return to my threads, I can respond to my own thinking as though I was having a conversation with my past self, and knowing that I’ll be doing this makes me feel like I am speaking with my future self when I write.
This frame is much easier to hold when I’m confident that I’ll actually be able to recall my writing because it is structured correctly, and because search is so integrated into the Knovigator UX.
This is why I have never liked the “taking notes” terminology. For some reason the words evoke something very trivial and impermanent. I view it as much more of an asynchronous conversation through time whether with myself or with others.
This is another advantage of recording your stream of consciousness as a conversation. I can invite others to branch off responses to any of my messages, as opposed to focusing only on the “latest but not greatest” messages, as in single threaded tools.
As for research… Research is just a conversation with questions. Research is just writing down questions, searching for the answers and writing those down.
One interesting feature of Knovigator is the ability to sort the messages in a thread by the upvalue they’ve received. You can imagine the title message being a question and then sorting the tail messages by how well they answer the question in the title message. You can also do this to prioritize to-do list items, or to figure out which comedians you like by upvaluing your favorites with others.
I think we lose a lot of knowledge because we don’t have good ways of recording our conversations. Knowledge base solutions are “step two” tools. Step one is to discuss, step two is to curate the insights into a knowledge base tool. Step two often never gets done.
Knovigator asks the question: what if your conversations were the knowledge base? Much of the feature development follows from this: how can you curate the important conversation from the trivial? By upvaluing it. How can you easily re-use the most valuable insights from your conversation? By integrating search directly into it and being able to quote messages.
There are very few ways for thinkers to “upvalue” their content. What impact do you think crypto will have on thinking, collaborating, and creating?
What good is it to have all of the world’s knowledge at your fingertips if you don’t have the bandwidth to prioritize it, or the expertise to know if it is competent? At one time we had a scarcity of information, but today our attention is in the midst of a massive DDOS (distributed denial of service) attack.
Today, these problems are solved by machine learning algorithms run by centralized companies for the benefit of advertisers. My thesis is that what we require is, instead, a content market where we all collaborate to curate content and be rewarded for our good taste and our creativity.
This takes the power away from blackbox algorithms and gives it back to human judgement. Many of us are already doing this curation, and posting our efforts on various social platforms, and in digital gardens. We are essentially human web crawlers and I believe we can be rewarded for that knowledge work.
Recording our judgement via upvalue will price the world’s content so that we can prioritize our attention to the best relevant information. We can have confidence that this is so, because the act of upvaluing is a small sacrifice of money which cannot be faked. These small rewards accrue at scale to form a powerful signal of quality.
This has only become possible recently, because to transact digitally with tiny amounts of money as low as one cent, and even lower, was prohibitively expensive. I believe a credit card payment has fees of 30 cents at a minimum. BitcoinSV, the cryptocurrency Knovigator integrates with, has fees that are tiny fractions of a cent.
This is just one use case for upvalue. When you have money flowing through your conversation tools, you can begin to use it to coordinate actions, including creating financial incentives for conversation. For example, you can pool some money into a question and promise to pay it to an expert that answers it in a real time crowd fund.
Perhaps you can launch prediction markets to hold yourself financially accountable for the claims you make, something that is sorely lacking in today’s outrage-fueled discourse – the participants of which face no accountability for getting things extremely wrong, or for outright lying.
I can imagine users coming together asynchronously to contribute to a larger project by posting their incremental work in a thread tree, to be rewarded for their efforts by upvalue. This already happens privately, on a small scale in the development of Knovigator.
Having knowledge about where you, your community, or society should focus your attention is extremely powerful, because it allows you to de-duplicate your work, and have the next cycle build on a solid foundation, rather than having to re-imagine what has already been done effectively.
It would allow us to compound a global knowledge asset through a billion human beings participating in a small act of knowledge creation: a proof of value via small sacrifices executed through the click of a button.
This has so much potential. What are some of the most surprising use cases you’ve noticed from users?
I started building Knovigator as a personal knowledge base, but was surprised at how well the thread tree data structure lends itself to conversation. People have been using Knovigator to create private streams for work, and teaching asynchronous classes remotely through the pandemic. The feedback I have gotten is that it’s like Discord with infinite threading.
Even synchronous conversation is interesting because you can be speaking to someone in parallel, responding to different parts of the thread tree simultaneously. The feeling is one of expanded mental bandwidth.
Knovigator makes it easy to embed video and screen recordings in messages. This has led to some users recording “captain’s log” style video diaries, and I have dabbled with this. It’s actually a great way to run standups for async remote teams who might not otherwise see each others’ faces.
I think threaded video is an underexplored medium, which I predict will be a bigger deal in the future. Some users have started recording 2 second videos of themselves doing emoji impressions, and then quoting them into conversations instead of using emoji icons which is pretty funny.
The screen recordings have become super useful when users leave me bug reports, they can instantly just show me if something went wrong. This has been a life saver in terms of being able to fix things quickly.
A term you use that’s particularly interesting in Search Gardening. What does that mean exactly?
One of the major design goals for Knovigator is to build an experience where the most valuable content is presented at the most valuable time while requiring as little organization as possible to achieve this.
This is why search is such a deeply integrated part of the user experience. It’s why every Knovigator writing prompt is a search prompt, and why branching threads isolate associated ideas in their own containers for future retrieval.
Being able to rely on search and upvalue to inform the prioritization of search results, means that I can collect information preemptively, with minimal organization, before I ever have any specific need for it. I do this because I speculate that in the future I might find it useful, and I have confidence in the right messages showing up at the right time.
Understanding this dynamic, I often put a “speculative search query” somewhere in the thread when recording my stream of consciousness. This search query is my best guess at why I might be interested in something, and so I am planting the seeds for a successful search result in the future.
This is what I call search gardening, and it reverses the typical research workflow which usually goes something like: I have a project, and now I must do research for the project. Instead, I save everything that sparks joy, so that whenever I start a project, I almost never start with an empty slate.
In multiplayer mode, you can imagine this kind of search gardening being done by people who don’t necessarily have projects, but have a keen sense of what is good, beautiful, and valuable, so that their curated insights become the “building material” for people who do have projects. A kind of social curation exercise which rewards people for their good taste.
And how do you personally use Knovigator?
I use Knovigator for everything. I am using it to write this interview. I have used it to “search garden” many of the ideas I write about here, and to pull them up now, in branches, to reference and inspire my answers.
A lot of my search gardening gets harvested when I publish Twitter threads. Knovigator is great for drafting Twitter threads while taking advantage of all of Knovigator’s tool for thought powers.
One cool thing about Knovigator is that I can easily keep very long running conversations going since they show up in search results as I work. I have these async conversations with friends, family, users who are requesting features, and my team members with whom I’m building this tool. I think the power to keep returning to and growing a conversation, through time, is a super power not many other tools can match.
Being able to upvalue messages means I can demonstrate to my conversation partners when I value something, for example when they notify me of a bug, or give me insight into their workflows to help me improve the product.
I also participate in collaborative research where we try to figure out who the best comedian is, for example, or the best tv show to watch, all mediated via an honest money signal one cent at a time.
You’re still a small team and Knovigator is an ambitious tool. What is your focus today, and what’s your long-term vision for Knovigator?
A short while ago, we released the ability to upvalue messages, and most recently we released the ranking algorithm that uses the upvalue of a thread to rank search results so that you’re always looking at the most valuable content in Knovigator.
The focus today is to make the user experience around these app mechanics as intuitive as possible, and to educate users and potential users about why using a market to prioritize content is powerful.
Ultimately, I envision Knovigator as a global Knowledge Operating System, incentivizing, and prioritizing quality content, allowing us to make a living by following our curiosity and rewarding us for the knowledge work we’re already doing.
The aim is to be able to make a useful record of this knowledge work using Knovigator’s infinitely branching, thread-tree forest, to allow us to exercise our judgement through the free exercise of upvalue – to prioritize our conscious attention and coordinate humanity.
Thank you so much for your time! Where can people learn more about Knovigator?