ege's weblog

Tuesday, 9 June 2026

Smallweb is Becoming an Archipelago

The appeal of living in a small town is being surrounded by the right number of people whom you can care about. On the other hand, living in a big city might make you feel lonely in huge crowds.

Being a blogger in smallweb (or IndieWeb) is akin to living in a small town with one big exception: there’s no square in the middle of town, no town hall to gather around. In this sense maybe the proper analogy is a small island rather than a town. Smallweb can easily be an isolated experience.

Contrary to the corporate platforms where the connection is heavily mediated to be commodified, in smallweb the connection needs to be intentional. Connection here requires quilting points even if temporary.

I feel a recent change in the smallweb. It’s started to feel more connected than ever. Take Robert’s Junited for example: this year’s participants outnumber those of all previous years combined. I believe the reason for this liveliness is the emergence of blog directories and discovery platforms that act like quilting points for shared meaning. How would I have participated in junited if I hadn’t heard about it in the first place?

Bubbles is one example of a gathering location for the smallweb. It’s a blog aggregator where you can discover the newest posts published on a handful (~5000) blogs. Kagi smallweb is another one with a different approach. Bear Blog’s discover page is another one; although it’s platform-specific, it’s part of the smallweb in spirit. A recent addition is the standard.site protocol where stitching blogs together happens automatically thanks to AT Protocol. They are gravity points that halt the centrifugal drift of isolated blogs in the smallweb. Together, they create a landscape for shared discourse.

These developments are signs of the upcoming smallweb renaissance. Smallweb no longer feels like a refugee camp where people find themselves thrown together while escaping the high walls of the corporate web. We are now building something together. Our isolated islands have started to feel like an archipelago.

Sunday, 7 June 2026

Integrating standard.site with My Hugo Blog

If you are part of indieweb, you probably noticed people talking about standard.site. It’s a recent addition to AT Protocol to publish long form content. You might think of it as POSSE on steroids.

I spent hours today figuring out how to integrate my blog with standard.site. It was not as hard as I thought thanks to David Bushell and Mat Marquis.

The first thing you need to do is sign in and create a site.standard.publication record on Atmosphere Explorer:

{
  "url": "https://hypersubject.net",
  "name": "ege's weblog",
  "$type": "site.standard.publication",
  "description": "We must reclaim the cyberspace.",
  "preferences": {
    "showInDiscover": true
  }
}

Protip: Leave Collection and Record key empty when creating the record to use default values. Record keys are subject to strict validation rules.

Then you need to create .well-known/site.standard.publication at the root of your site.

$ cat static/.well-known/site.standard.publication at://did:plc:32534e3a5wza2m3omyuflhm3/site.standard.publication/3mnmnwcnftk2i

did:plc:32534e3a5wza2m3omyuflhm3 is my account, 3mnmnwcnftk2i is the record key of the publication.

I also put the following into <head>:

<link 
  rel="site.standard.publication"
  href="at://did:plc:32534e3a5wza2m3omyuflhm3/site.standard.publication/3mnmnwcnftk2i" />

This is all I needed to do to register my blog on AT Proto. The rest is creating site.standard.document for each blog post like this one:

{
  "path": "/entries/2026/01/we-must-reclaim-the-cyberspace",
  "site": "at://did:plc:32534e3a5wza2m3omyuflhm3/site.standard.publication/3mnmnwcnftk2i",
  "$type": "site.standard.document",
  "title": "we must reclaim the cyberspace",
  "publishedAt": "2026-01-01T09:33:17.000Z",
  "textContent": "The internet I grew up in no longer exists.\n\nThe internet, with its hyper-fast communication flows, was meant to enable the\nnew golden age for humanity. We were promised to have a global village where\ntribes transcend the limitations of geography. We could find our people\nwherever they were. Our ideas, our niche interests were supposed to connect us\nwith others in the vast network of nodes. If, only if, we can discover them.\n\nInstead, what we got is the commodification of communication. The connection\nthat was promised to us has been reformatted in terms of the market: \"How can a\npractice, experience, or feeling be monetized?\" Yes, discoverability is solved\nthanks to search engines and social media platforms. But now we connect, not to\neach other, but to the algorithm. We no longer contribute ideas to each other,\nbut to the circulation of the \"content\".\n\nWe must reclaim the cyberspace.",
  "canonicalUrl": "https://hypersubject.net/entries/2026/01/we-must-reclaim-the-cyberspace"
}

I didn’t want to create records manually, so I started looking for solutions. To my surprise, I couldn’t find an SDK for AT Proto in go. But there’s goat (go at [protocol]). Unfortunately it didn’t allow me to create site.standard.document records:

$ goat record create doc.json 
error: API request failed (HTTP 400): InvalidRequest: Unknown lexicon type: site.standard.document

Protip: Even though I couldn’t use goat to create records, it can delete them. Since I figured out the integration through trial and error, it came in handy:

$ goat record ls did:plc:32534e3a5wza2m3omyuflhm3 \
	| grep document \
	| awk '{print $2}' \
	| xargs -I{} goat record delete -c site.standard.document -r {}

Then I found Sequoia. It’s a “simple CLI for creating standard.site documents from your existing static blog.” It’s not that flexible (yet) but very simple to use.

$ sequoia auth # authenticate with an app password
$ sequoia init # configure publisher
$ sequoia publish # create site.standard.document records
$ sequoia inject # inject <link> elements to each blog post for validation

It’s also able to post on Bluesky when you publish a new blog post. Very handy.

Finally, I confirmed that everything works with Standard.site Validator.

I’m not sure if standard.site will turn out to be something important but today it feels like a good step forward for the indieweb. And since it’s not intrusive and easy to integrate, I encourage you to publish your content on AT Protocol.