Garden and the Stream

Introduction

The Garden and the Stream is a way of thinking about the web from a 2015 conference keynote by Mike Caulfield that describes two modes of being on the web:

The Garden: a more spatial, tended space where ideas are interlinked and cultivated over time, revisited and revised. Wikis, personal knowledge bases, blogs with cross-linked posts.

The Stream: the chronological, river-like flow of social media and feeds, where content rushes past and context collapses. Twitter, Mastodon timelines, RSS feeds — things that exist in relation to now.

Each person has their own Stream and Garden and a spectrum of experiences in between. Caulfield's keynote has become foundational thinking among the movement to live more intentionally on the web. Maggie Appleton's widely-read history of the digital garden traces the intellectual lineage from the early 1990s hypertext community all the way to the present-day revival of personal wikis and knowledge bases and touches on some of what I will discuss here. Tom Critchlow, writing in 2018, extended Caulfield's binary by introducing a third mode: the campfire . This essay joins that conversation and extends it further, asking what it would take for the AT Protocol to support not just streams, but the full ecosystem of web modes humans actually need.

Where We Went Wrong

Caulfield argued all the way back in 2015 that the web had become overly stream-dominated, at the expense of the connective, exploratory thinking of gardens.

The web we all experience now is very different than that of the 1990s and early 2000s. The early internet was built around the hyperlink. Documents from 1995 could coexist with a reference documents from 2002; all that mattered was how they were linked. You'd go to those places (sites), wander, follow links sideways and backwards in time.

Caulfield argues that with the rise of Twitter and Facebook a few things collapsed simultaneously. The feed replaced the visit. Instead of going to sites and exploring, content comes to you in a river. The update replaced the document. The atomic unit shifted from something durable and linked to something ephemeral and dated. A tweet or Facebook post degrades rapidly because it's only relevant to the moment it was created. Its context collapses the moment other posts flood in to replace it. And the reaction replaced the response. Things like likes, retweets, and shares are fast, low-cost interactions and they only feed (heh) the velocity of the stream.

It's worth noting, before going further, that the stream is not the villain of this story. The stream is at its best when it's metabolizing the content that comes through and the cream of the crop is added to our own little gardens. The problem isn't that the stream exists; it's that the web built an entire circulatory system with no organs to filter what the stream carries. Nutrients rush in and rush out without ever being digested. The water flows, but runs right through, and never nurtures a garden.

Why This Matters

Making a habit of drinking from the stream or walking through the garden changes the kind of thinker you become. Heavy stream consumption trains you toward pattern-matching and reaction. You get very fast at recognizing what something is like and how to respond to it in the moment. By contrast, garden cultivation trains you toward synthesis and connection. You get better at understanding how things relate, at both holding and resolving contradictions, and at developing positions that are actually yours rather than borrowed from the stream. These are different cognitive muscles and our current web exercises one heavily at the expense of the other. The stream gives you the feeling of being informed while actually making it harder to think. This is especially true for teenagers, whose malleable pre-frontal cortexes are more susceptible to these forces.

The issue is about more than just the way we think; it's epistemological. The stream is a bad environment for developing collective understanding and has eroded much of the tendency we have as humans to value shared truth. For example, the stream-ification of how we consume media is arguably the single thing most responsible for the political success of Donald Trump. It's obvious that Trump adds garbage to our streams, our collective sense of proprioception, every day. The fact that that trash is swept past us in a constant stream rather than piling up in our gardens around us makes dealing with it feel both questionably necessary and insurmountable.

The stream doesn't colonize your thinking by design, though; it does so quietly and proportionally, like any other environment: through the sheer time spent inside it. The solution is simply to make other modes of existing on the social web possible.

Beyond Two Modes: Campfires, Broadcasts, and Discussion

The garden/stream dichotomy was a prescient perspective in 2015, but it only captures two of the modes humans actually use when engaging with ideas on the web. Tom Critchlow named a third in 2018: the campfire. Where the stream is fast-twitch and the garden spans decades, the campfire is the medium-burn mode, slower than the stream but fading over years rather than lasting forever. Critchlow places blogging here: thinking out loud in public, self-referencing, the beginning stages of forming connections. The campfire is where you go to work things out with others around you, not to archive them forever.

I'd propose a refinement on Critchlow's campfire: it's really two distinct things that are worth separating. One is discussion — the mode that takes the stream's real-time engagement and marries it with the space and intentionality of the garden. Forums, threaded comment sections, GitHub issues, Discord channels. Discussion is the agora. It's bounded: you know who's in the room and the conversation has some shared context. Good discussions are worth returning to, but they're also somewhat perishable. It's also the mode that most "reply culture" on social media is trying to be and largely failing at, because the stream is a terrible substrate for it. You can't build a discussion in a place where context collapses and the loudest voice in the timeline wins.

The second thing that breaks out of Critchlow's campfire is the broadcast. Broadcasts are radio stations, newsletters, academic journals, and magazines: they regularly put out curated information on a schedule they control, without feedback loops optimizing for engagement. The intentionality comes from editorial identity. Someone has decided what the broadcast is for and is maintaining that identity over time. The key distinction from the stream is the absence of engagement optimization. A newsletter editor isn't watching your open rate in real time and adjusting content. The key distinction from the garden is that the broadcast is emitted rather than tended. Broadcasts are arguably the most underappreciated primitive on the current web, especially as newsletters have consolidated around platforms like Substack, which has increasingly stream-like social features grafted on.

So a more complete map of web modes looks like this, in order of decreasing velocity and increasing durability:

The Stream: chronological, fast, public, engagement-optimized. Where things arrive.

Discussion (the campfire, refined): bounded, threaded, real-time or near-real-time, medium durability. Where ideas get worked out together.

Broadcasts: scheduled, editorially intentional, curated, no engagement feedback loop. Where trusted voices speak consistently over time.

The Garden: spatial, tended, cross-linked, decades-long. Where knowledge compounds.

The stream should feed all of the others as the metabolism. But right now it's the only thing most social protocols know how to build.

The quality of discussion, in particular, scales with how intentionally you've tended the social graph around you. A garden where you've cultivated who you're talking to (where you've made deliberate choices about who you follow, who you've blocked, which corners of the network you've walled off) produces discussions that are substantively different from ones where anyone and everyone is given access to your eyes and ears. The graph you tend is itself a garden. The stream gets better when you've tended to it.

Enter The AT Protocol

When the AT protocol was developed in 2022 it was created with only "stream-y" primitives, primarily because it was at first only supporting the Bluesky application. The original intent was to replicate Twitter so we got Twitter-like, stream-centric elements such as the like, the feed, and the microblog post. A stream-y application such as Bluesky led to stream-y architecture decisions like making the Relay the primary source of information for AppViews. The Relay is basically just a river of content only related to each other by when they were created. Why is this the only form of content aggregation in the network?

What I would propose is to give users more opportunities to create their own gardens on atproto, rather than atproto being limited to only serving streams. And, importantly, the infrastructure to make this possible is closer than it might seem.

The momentum is already there. The closest projects that have attempted to move the Atmosphere in this direction are Anisota, which hasn't built a garden-like experience exactly but has slowed down the stream's discombobulating dynamics by imposing scarcity and slowing consumption; standard.site, which is creating the possibility of a linked body of knowledge between multiple lexicons (which could be aggregated by dedicated services); Constellation, which gets at the philosophical idea of backlinks and references; and Semble, which arguably gets close to creating a garden-like experience for end-users but I think doesn't yet create the architectural basis necessary to enable other applications like it.

Most recently, Hypha's spores.garden , launched in February 2026, is the most direct instantiation of everything this essay argues for. It's a network of personal websites on atproto where everything visible was placed there by a human with intention, not surfaced by an algorithm. Each garden has a unique visual identity generated from the user's DID. Social interactions (collecting someone's flower, planting yours in their garden as a guestbook entry) are deliberate, low-velocity acts rather than engagement-optimized ones. In fact, spores.garden is built on top of Constellation's backlink infrastructure, which is exactly the kind of layering that points the way forward for the whole ecosystem.

How To Make More Gardens In ATproto

The garden/stream distinction maps cleanly onto an architectural observation about atproto: the protocol currently has robust infrastructure for streams, nascent infrastructure for broadcasts (custom feeds get you partway there), and almost nothing for gardens or discussion. Let me propose what it would take to change that, starting with what already exists and what it needs.

Make Citation a First-Class Record

The most important missing piece is just a specific lexicon. The AT Protocol already has com.atproto.repo.strongRef which pairs an AT-URI with a CID hash to point unambiguously at a specific record as it existed at a specific moment. This is almost everything you need for citation.

What doesn't exist yet is a standalone application-layer record type that uses strongRef as its subject and adds relational metadata — something like:

{
"lexicon": 1,
"id": "com.garden.cite", // obviously at a different NSID eventually
"defs": {
"main": {
"type": "record",
"record": {
"type": "object",
"required": ["subject", "rel", "createdAt"],
"properties": {
"subject": {
"type": "ref",
"ref": "com.atproto.repo.strongRef"
},
"rel": {
"type": "union",
"refs": [
"com.garden.cite#references",
"com.garden.cite#respondsTo",
"com.garden.cite#supersedes",
"com.garden.cite#contradicts"
]
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
}
},
"references": { "type": "object", "properties": {} },
"respondsTo": { "type": "object", "properties": {} },
"supersedes": { "type": "object", "properties": {} },
"contradicts": { "type": "object", "properties": {} }
}
}

This record would live in the citing author's repo, be emitted to the firehose like any record, and be indexable by any service that cares about citations. The rel field is important. The values of "references", "responds-to", "supersedes", "contradicts" are all meaningfully different relationships. Crucially, the relationships are an open union; the lexicon can be extended if desired. This lexicon, probably developed collaboratively in the spirit of standard.site's work on shared vocabularies, would enable a lot of the other things this essay argues for.

Extending Constellation

Constellation already does much of what a garden layer needs at the infrastructure level. It crawls every record in the firehose, collects every link it can find (AT-URIs, DIDs, plain web URLs) and makes them queryable as backlinks. Spores.garden is already building on it. The question is what Constellation would need to become a true substrate for garden-type applications, rather than just a general-purpose link index.

Two things are currently missing:

Semantic differentiation of link types. Right now, a like, a reply, a quote post, and an explicit citation are all just "links" to Constellation. For garden applications, these distinctions matter. A citation is a fundamentally different act from a reaction. The citation lexicon above would give Constellation something coherent to index semantically — once that lexicon exists and is being used by atproto clients, Constellation (or a dedicated citation indexer; maybe we create many personalized versions of Constellation!) can begin distinguishing between "this record was reacted to" and "this record was cited as a reference."

Durability tracking over time. Constellation is real-time in that it knows what links exist right now, but it doesn't track whether a piece of content is still being cited six months after it was created. This is important to a garden. The most valuable records in a garden are the ones that accumulate references over time, not the ones that spike and vanish. This is what it means to have a garden that's tended to: dead things are pruned to allow new life. A durability index (built on top of Constellation's link data, tracking citation accumulation curves over time) would make it possible to answer the question "what content on this topic has demonstrated staying power?" without any changes to the firehose or the relay.

With these two additions, a whole class of applications becomes possible.

Imagine Wikipedia, but instead of being edited by a centralized community, it's emergent from the accumulated weight of the network's own references. An "article" about something like the comedy special Inside by Bo Burnham wouldn't be written by editors on Wikipedia but by the collective documents, posts, and threads on atproto that have demonstrated durability on that topic over time. It would be enable a truly social but cultivated experience where clients would be able to know if content has become stale or needs to be pruned, just like in a garden.

It's also possible to imagine a discourse "archaeology" tool, which would allow a user to look at how the shape of a conversation on a topic has evolved over time. It might show how a specific post changed the collective conversation dramatically, or whether most people on the network seem to agree with each other on the topic or if people are very divided, and how that changed over time.

Perhaps the use-case I personally would be most excited about would be something that marries Anisota's philosophy of slowing down your content consumption speed with long-form content. Rather than surfacing what's new, the app would surface standard.site content that has been consistently returned to by readers over the past couple months. Documents with high dwell time and high citation rates that are still accumulating references long after they were written. No feed, no scroll, just one or two recommendations per day, with the option to add to your library (garden) with your own thoughts once you've read them.

The Ecosystem We Actually Want

A mature atproto ecosystem should have all four modes: streams, where the fast metabolism of the network moves, ideas and events and discoveries rushing in; gardens, where those ideas get tended, cross-linked, and made durable over time; discussion spaces, where bounded groups work things out together in real time; and broadcasts, where editorially intentional voices speak consistently without being bent by engagement optimization.

The campfire problem seems to be one being tackled by Bluesky PBC right now with permissioned spaces. I personally want to see Bluesky PBC either develop their own discussion platform or coordinate development of multiple by other teams. Get Kialo to implement atproto. Once there is at least one solid discussion platform on atproto, link out to it from Bluesky like you do with Germ already, so earnest discussion is incentivized to leave bsky.app. I'll likely be publishing another blog post about this shortly.

What's been missing isn't even necessarily the desire to create garden-like experiences on atproto, as evidenced by the projects I've mentioned above. What's missing is the infrastructure that would make these applications native to a modern social protocol rather than isolated tools fighting against the grain of how the network works. We need to take our next step very intentionally; a step toward ensuring that the Atmosphere grows into more than just one very good stream.