~/blygger.org/blyg/

Blygger

An AI-native, decentralized medium for writing in public — a small update to blogging and old Twitter, built on files you own and feeds anyone can read.

Media keep time in two ways. Synchronic media are about the present moment: a Twitter feed, a group chat, a livestream — everything now, nothing revised. Diachronic media are about how things change: a git log, a blog series, a book's editions — the record of the changing is the point. Twitter time and GitHub time. Neither is better, and nobody has made one medium do both well. Threads are a synchronic medium doing an impression of a diachronic one. Editable posts break provenance: if a thing can change silently, what did you actually say? And nobody reads changelogs.

Books are the one medium that solves this, by being very, very slow. An edition is a change a reader can actually see, and it works because editions come years apart. Blygger keeps the edition and drops the latency. Every item carries its version history in public, and any version can be pinned — frozen and citable forever — so you can keep working an idea after publishing it without pulling the ground out from under anyone who quoted it.

Quoting is the other half. You quote by reference: name an item and its content is snapshotted into yours, with a record of exactly which version you saw — from your own blyg or anyone else's. Editing the source later never rewrites the quote. The idea is Ted Nelson's, and fifty years old; he called it transclusion.

And Blygger assumes AI. Generated text today is mostly dead on arrival — a chat transcript nothing cites, revises, or builds on. In a blyg, a model's output lands block by block inside an item with a version, a date, and a disclosure of what wrote it: AI brought into time, and into a public record. The protocol itself has no AI in it at all.

Blygger is a protocol, not a platform. A blyg is a directory of plain files — mounted anywhere on your own domain, conventionally /blyg/ — holding your writing, its edit history, and an RSS feed. Anything that can serve files can host one. Anything that can read RSS can follow one, and a reader that knows nothing of Blygger sees an ordinary feed and loses nothing. There is no company in the middle, no account to create, and no timeline you don't control.

The design is a deliberate mashup of four ancestors: blogs (your domain, your archive), Twitter (short atomic posts), wikis (transclusion — composing big texts out of small ones), and git (versions, changelogs, and an edit culture borrowed from how software treats code). The name stacks three readings: blyg is Swedish for shy, and nearly a homophone of blog; Blygger tips its hat to Blogger; and ygg gestures at Yggdrasil, the Norse tree whose roots and branches are never finished, only still growing.

Two kinds of writing

Your feed is the changelog: it announces new items and new versions of old ones, newest activity first. Editing in public is a first-class act, not a guilty correction.

Publishing the way GitHub treats code

The precedent Blygger leans on is not social media — it's how programmers publish software:

GitHub Blygger
Commits and history Versions and changelogs
Tags / commit hashes Pins — irrevocable, citable frozen versions
Forking a repo at a commit Forking an item from a pinned version
Vendoring a dependency Transclusion — a snapshot, with provenance
Watching (quiet, private) Subscribing (client-local, invisible)
No comment box on the code No replies. Ever.

That last row is the point. Blygger is a network of soapboxes, not a conversation medium. There is no reply primitive in the protocol and there never will be. The only way to respond to someone is to publish: quote their work into a thread of your own, with your editorial framing around it — a stub, a thread that declares itself a response to exactly one item — or fork a pinned version and take it somewhere new. Responding costs the same thing publishing costs — putting your name on a thing you made. Conversation is what other media are for; blygger posts cross-post anywhere.

Mutable by default, immutable by choice

Two deliberate inversions of the usual defaults:

And one honest rule about leaving: there is no delete for published work, only withdrawal — a permanent, reversible endcap that tells conforming readers to drop the item. The protocol doesn't pretend the internet forgets; it just makes your intent machine-readable, and keeps your promises (pins) even when you change your mind about everything else.

AI-native, AI-free wire

Blygger assumes writers work with AI — and keeps AI entirely out of the protocol. The flagship mechanism is TK-transclusion: in the reference client, wrap transcluded items in a [TK]…[/TK] scope and your own model, with your own key, generates the connective text that contextualizes them — at authoring time, in your private studio, under your editing hand. What gets published is ordinary markdown and HTML plus provenance. Readers need no models and no keys, and your instructions never leave the studio. What the wire does carry is disclosure: a publisher marks which spans a model wrote, from which sources, so a reader can tell.

The same boundary holds for identity: the protocol authenticates exactly one thing — the origin publishing the feed, a domain or a path on one. Bylines are assertions a publication makes, like a masthead, not accounts in a system. DNS is the namespace.

Finding each other

No follower counts, no follow requests, no social graph in the protocol. Discovery is deliberately old-school, with two optional surfaces:

Following someone is just subscribing to their feed — private, unilateral, invisible, exactly like RSS. What's public is what you made: your writing, your reading list, and the visible trail of who quoted whom.

Getting started

Build a blyg — three ways in: publish a feed you already have, host the reference client on Cloudflare, or build your own client from the spec. A directory of existing blygs lives at blygger.com, and the ecosystem page lists every known client and tool.

A talk about all this

Blygger: AI-intertwingled diachronic-synchronic social publishing — Protocol Symposium 2026, Thursday 24 September. The recording, the slides, and the speaker's cues.

Status

The first two live nodes, venkateshrao.com/blyg/ and blyg.protocol-institute.org, have been subscribed to each other since August 2026. Since the September 2026 talk, independent builders have written most of the clients in use: the ecosystem page indexes them, with the live blygs each one serves. (This domain is the protocol's namespace and documentation host — it does not run a blyg.)

Version 0.1 shipped the publish side — fragments, threads, transclusion, pins, withdrawal. 0.2 added the subscribe side — resolution, importers, blogrolls, and the wire members for instructed generation. Version 0.3 is the current document: threads that quote across clients and origins, stubs, forks, quoting a passage rather than a whole item, Webmention with structural verification, and generation disclosure. Next is 0.4, defined but not yet opened: generating from items at other origins, and blygs whose files live behind URL templates — the shape a WordPress plugin needs.

No version before 1.0 will be declared stable, including the wire format. Building clients is how the protocol gets tested, so the spec changes when building finds something. Read and implement freely; don't build on it expecting promises yet.