(2026-01-22) I Replaced My Web Stack With Gopher And Failed Less

Someodd: I Replaced My Web Stack With Gopher and Failed Less.

*Intimacy in the Forgotten Stack

  • Scale dazzles; intimacy sustains.*

I replaced a modern web stack with a 1991 protocol and got fewer failures and more time to spend joyfully.

A system is a love poem. Perhaps short, hopefully faithful in form: composed of verses that speak to each other, remembered by heart, and carried as one's own craft.

*The romance of lovable systems lies in three virtues:

  • Knowability: small enough to live in your head.
  • Composability: its parts can be composed like verses, each complete, each in dialogue.
  • Ownership: you bear the stake, so you care.*

From these emerge resilience, clarity, and joy.

My proof is Gopher: a 1991 protocol whose RFC you can whisper like a sonnet. On it I've built and self-hosted a publishing stack. I chose it because those three virtues endure.

The Value (beyond vibes)

Cognition: Humans don't scale; architecture must. Compose into units one brain can hold. Short feedback loops cut repair time. Treat complexity as a budget: spend it at seams, not in guesswork. Intimacy helps individual understanding; shared mental models are still hard to build.*

Contracts*: Interfaces are promises. State inputs, outputs, guarantees; version them small.*

Ownership*: Reliability is a who. If everyone owns it, no one does. Name a steward, grant authority, and keep accountability humane. Most failures begin at unowned handoffs*

Joy*: Joy is operational. Teams maintain what they love; miserable tools get bypassed*

As an extreme case, I wrote a Gopher daemon in i386 assembly

This approach doesn't replace large-scale systems; it constrains parts of them. Scale isn't forbidden. Aim to keep some components small enough to reason about.

I use this where it fits: edges, tools, internal services, publishing, glue. This thesis locates exactly where intimacy belongs: at the seams.

A Smaller Internet Taught Me This
"Simplicity is intentional." -- RFC 1436

Most people assume the web is the Internet. Click a link, scroll a page, curtain falls; applause. But that's only one act of a much older play.

"surfing the Internet" was coined before the web by Gopher's own Mark McCahill[6].

Send a selector like /foo/bar.txt or Hello, world! to the server, get back text/file/menu

strict separation of navigation and content

That's the whole contract. That restraint is decadent. Its simplicity is permissive;

*turned ALL of Gopherspace into an MMORPG

I fell into Gopher by implementing the spec. I wrote a tiny client, Waffle[9], straight from RFC 1436[10], that experience started a journey that rewired my taste.

Pressure-testing Gopher through heavy self-hosting[11], adjacent protocols like Gemini[12] (richer, but more complex), participation at Bitreich[13] (Gopher liminalists led by a suckless[14] trickster), and conversations with people who built these systems (including Gopher and first MMORPG[15] co-author Bob Alberti[16]) made a pattern obvious: legibility enables punk hackability.

The smallness of the protocol also gave me room to experiment with LiquidHaskell[17] and Nix[18]. Gopher's narrow grammar, thus clarity, separated novelty from signal and sharpened my sense of the Unix creed: do one thing well, and glue it with joy.

From boring, quotidian tomes, to occult incantations of READMEs which are actually Literate Haskell Scripts[21], she whispers it onto the public wire. Private to published is a single breath.

Dashboards* that expose system health with the same ease as serving a poem.

  • Journaling where each entry is an artifact, mirrored seamlessly to the web.*

What this makes possible (beyond Gopher):

My observability stack is called `tail -F

When I want something dynamic, I write a small Literate Haskell script

*Some examples on my gopherhole[26]:

  • GopherGPT[27]: an LLM you can talk to via Gopher
  • Interlog[28]: an experimental phorum
  • Colossal Cave: play the original text adventure game!*

Reflection: Techno-Romance, Not Neo-Luddism

This is a preference for systems small enough to be held. Love is a positive quality, rather than a differential relation like "anti-bloat."

Thinking of it like that, a method of easily serving directories of data, rather than a scaled down web (smallweb), makes the whole thing more appealing I think. -- Rob Sayers

Gopher got composted early (got this idea by interviewing Cory Doctorow for the documentary), returning its nutrients to the soil: clarity, patience, craft.


Edited:    |       |    Search Twitter for discussion