Git for Thought
I spend an embarrassing amount of time on X/Twitter.
More than I would care to admit.
Most posts feel like shallow waters. You doomscroll through hundreds of posts, and some catch your attention but only for an ephemeral moment. But some posts open downward. You click a reply. Then a reply to that reply. Then another. Suddenly you find yourself five layers deep in a conversation between strangers about a topic you didn't know you cared about.
I've been trying to understand what makes certain posts go deep. Not viral. Viral is horizontal spread, the same content reaching more people. I mean vertical. Posts where the value isn't in the original statement but in the conversation it generates. The best X/Twitter threads feel like thinking happening in real time: someone proposes an idea, someone else pushes back, a third person introduces a frame no one considered. The original post stops being a conclusion and becomes a starting point, when the conversation discovers something the author couldn't have found alone. X/Twitter is extraordinary at generating serendipitous conversations, at surfacing ideas you wouldn't have encountered otherwise, at letting you eavesdrop on conversations between people you'll never meet. What it's not built for is accumulation. The algorithm surfaces what it predicts you'll engage with, which isn't always what you'd choose to think about. The default experience optimizes for attention capture.
So I find myself in a different place when I want depth of thought over algorithmic attention capture. The curated, quiet corners of the internet where someone has been thinking about one thing for a long time. Personal websites. Blogs that still look like they were built in 2008, because the author cares more about the writing than its presentation. I keep a short list of writers whose essays I return to, like Eugene Wei on social networks, Paul Graham on startups, Naval Ravikant on life principles, Andrew Chen on growth, and so on. These are people who thought hard about something for years, distilled that thinking into prose, and put it somewhere permanent. When you read them, you can feel the shape of their mind. You can see how they see. The thoughts you see formalized in the form of an essay or a tweet once existed as a messy jumbled mess of thoughts and perspectives, strung together into coherent sentences to communicate an idea that sat without form in your head until it was real enough that it could be said into words.
Essays do something X/Twitter cannot. They build. An essay holds an argument together across sections, layers evidence before conclusions, earns its claims through accumulation. You might disagree with where the author lands, but you can see the path they took to get there. The reasoning is exposed in a way that is substantial in the claims it is meant to make, not compressed into 280 characters in a social platform format that optimizes for surface-level attention. An essay is a monologue. Sometimes a brilliant one, the kind of sustained thinking that changes how you see a subject forever. One voice, one direction, one path through the idea space. When I finish reading an essay that moved me, I often want to respond. Not with a comment at the bottom, which feels disconnected like shouting into a void the author will never check. I want to point at a specific paragraph and say: here. This is where something sparked.
I read something that ignites a thought. That thought has nowhere to go. I could tweet about it, but then it's detached from its source, floating free without context. I could DM the author, but that's a private exchange, invisible to anyone else who had the same spark from the same paragraph. I could write my own essay in response, but that's a whole new artifact of thought that exists in its own idea space.
I've wished for years that I could branch off the writers I admire at the exact point where my thinking diverged from theirs.
Eugene Wei wrote a phenomenal essay Status as a Service that has shaped how I think about social network platforms. Wei's framework describes how social networks organize people and content. But there's something his taxonomy doesn't capture: the value of human judgment. Why do I trust certain people's recommendations over others, independent of their follower count or our social connection? Where does a taste graph sit? Human taste and judgment, the thing that makes someone's curation valuable beyond their credentials or follower count. Is it a subset of interest? A separate axis entirely? Something that emerges from the intersection of social and interest graphs but isn't reducible to either? I suspect it matters more than either, that the people whose curation I trust aren't the most connected or the most focused but the ones with the best judgment. But I couldn't test that suspicion against Wei's framework. The essay was finished.
Another example. Naval Ravikant argued in a post that it is impossible to fool Mother Nature, that real feedback comes from free markets and physics. Your product either works or it doesn't. People either buy it or they don't. Feedback from other people is fake. Only the market tells the truth. I half-agree. Markets are brutal correctors of delusion, but the framework misses some cases. Sometimes users don't know what they want. Before the iPhone, focus groups didn't demand touchscreens. The world didn't want cars when there were horses. The market couldn't reward something it couldn't imagine. And what about products that survive without thriving? Your metrics are fine, growth is modest, nothing is obviously broken, but nothing is obviously right. The market isn't telling you to quit, but it isn't telling you to double down. Where's the truth in that silence? I suspect I will never truly know unless I live through it myself.
I wanted to fork lines in these essays and explore the edges of these thoughts, but the essay was already finished. There was nothing I could add to it. No format I knew could. Nothing had the depth of a good essay and the discovery of its ideas in a good thread, the structure that lets these ideas build on each other. The ability to say: "This sentence right here. This is where my thinking diverges from yours. Let's explore that."
The structure I wanted didn't exist. But the pattern did, somewhere I did not expect. Linus Torvalds already solved a version of this problem decades ago. Not for essays. For code.
This is just Git.
Before Git, collaboration on software meant either working in sequence, waiting for one person to finish before another could start, or working in parallel and then spending enormous effort merging incompatible changes. Git introduced a different model. Now, you don't have to destroy someone's work to build on it. You fork it. You take the repository at a specific point and fork it.
What if thoughts worked the same way?
Not a revision where the new version replaces the old. Not a commentary where responses sit below the original without structural connection. Actual branching. Branching of thoughts. Something that combines the serendipity that comes with a great X/Twitter post anchored to the depth of exploration an essay gives. A way to fork a piece of writing at a specific point and explore the divergent path while maintaining the link to where you departed.
So I built it.
On this website, every essay is forkable. If any phrase, any sentence, any paragraph sparks a thought in you, you can highlight it and request to start a conversation from that exact spot.
Each conversation appears as a new column to the right of the original text, visually connected to the passage that sparked it. As you scroll through the essay, the fork scrolls with it so you can always see where the conversation sparked from. If something in our conversation opens a new direction worth pursuing, that message can be forked too as a fork of a fork. The branching will continue as far as the conversation wants to go.
Open a fork of a fork and you see three columns. The design borrows something from the physicality of books. When you read a physical book, you see two pages at once, left and right, context always present on the spread before you. The layout mirrors this. Two columns are fully visible at any moment: the essay and its fork, or a fork and its own divergence. The third column peeks out at the right edge like a colored sticky note taped to a page, an invitation to flip forward without overwhelming what you are reading now. When you do turn to that third column, the previous one stays in view. Context never disappears and you always see where you came from. This is borrowing the spatial logic of paper, the feeling of holding a book open with two pages showing while a marker signals there is more ahead.
This layout means you can read an essay and simultaneously see the conversations it generated. The forks are not afterthoughts appended to the bottom but parallel explorations presented alongside the original, structurally bound to the passages that sparked them. Three stages of divergence, all visible at once. The horizontal axis represents divergence. The vertical axis, as you scroll, represents depth within each branch.
This is what I meant by Git for Thought. The essay is the main branch. Forks are feature branches, explorations that diverge from trunk without overwriting it. Some branches grow long, sustained conversations that develop their own momentum. Others stay short, a single exchange that resolves a question. Some branches split into sub-branches as new sparks emerge. The result is a tree. Every path through the tree is preserved. You can read an essay and see, in the margins, where conversations happened. You can click into a fork and follow it as deep as it goes. Git is one lens for understanding this, but there's another lens, one that comes from thinking about the web itself and how it handles the beautiful chaos of permanence and flow.
Mike Caulfield argued that the web had split into two modes in The Garden and the Stream. Gardens are curated, accumulating, and stable over time. You plant things and tend them. The content stays where you put it, just like blogs, wikis, personal websites. Streams are temporal, ephemeral, always flowing. What matters is what's happening now. Yesterday's posts are already buried. This is social networks like X/Twitter. Feeds and timelines. Most platforms commit fully to one mode or the other. Substack is a garden. X/Twitter is a stream. The design assumptions differ so fundamentally that hybrid approaches feel awkward, like bolting a comment section onto an essay and calling it a conversation. What I wanted was genuine synthesis between the two. The permanence of the garden: essays that stay, that accumulate, that you can return to years later. And the aliveness of the stream: conversation that grows, that responds, that evolves through exchange.
The fork structure is my attempt at that synthesis. The essay is the garden, and the forks are the stream. That's the synthesis: permanence and aliveness, depth and dialogue. The garden that grows conversations.
I read Truth and Method about a year ago by Hans-Georg Gadamer who spent his career studying what happens when two people genuinely understand each other. His answer wasn't a simple transmission of information where one person just broadcasts for the other to receive as if it were a one way stream of thought. That model, which most platforms implicitly assume, treats the reader as a container to be filled. The author knows something, communicates it, the reader absorbs it, and the communication is complete. Gadamer thought there was something more interesting happening in real dialogue. He called it the fusion of horizons. Your horizon is everything you can see from where you stand. Your experiences, your assumptions, your frame of reference, the concepts you have language for and the concepts you don't. My horizon is mine and it’s different from yours. We see different things because we're standing in different places, looking at a prism of truth from different angles, each of us seeing our own perspective refracted in the glass, understanding things in our own light.
When we enter a genuine conversation, neither horizon stays fixed. I say something that reveals an aspect of my position, you see it from yours, and the seeing shifts something. You respond, and your response reveals an aspect of your position. I see it from mine, and something shifts too. Back and forth. Each exchange doesn't just transfer information but changes what we can see about the world. No two people would end up in the same place. Gadamer wasn't a consensus theorist. He didn't think dialogue converged on shared truth. He thought it expanded what each participant could perceive. You walk away seeing more than you saw before, and so do I, while we're still standing in different places. The horizons touched, shifted each other, but didn't merge.
There's a corollary I've noticed in my own life: you can't learn something until you're ready to learn it. The same book read at twenty and at thirty teaches different things. Not because the words changed, but because your horizon did. What you can receive depends on where you're standing when you receive it.
This is why forks matter more than comments, and that essays should allow an element of serendipity, not as an assertion of an idea but an exploration of it. A comment is a reaction. A fork is a readiness to engage. The fork's spatial anchoring changes the psychology. When your response is visually tethered to a specific passage, you're forced to engage with that passage, you can't just vaguely react to the "vibe" of a piece. Someone who highlights a passage and requests a conversation has encountered something that met their horizon at exactly the right angle. The conversation that follows has a chance of producing actual fusion, actual shift, because both participants arrived prepared.
And if we're doing it right, neither of us leaves unchanged.
You've already been reading inside the system I just described.
Highlight what sparks.
Fork everything.