Digital Emigration

This blog is about digital emigration.
It turns out the first act of that emigration happened before the blog even launched.

I didn’t just want to write about dependency, jurisdiction, and control. I wanted the act of publishing itself to be aligned with those ideas. That immediately made things harder.

Why the infrastructure matters

Most writing platforms present themselves as neutral. They’re not.
They embed assumptions about ownership, discovery, monetisation, and permanence.

If the argument of this blog is that technology choices are never purely technical, then publishing that argument on a platform that contradicts it would feel hollow.

So the question wasn’t “Where can I publish easily?”
It was “What would publishing look like if exit was cheap and control was real?”

Starting from a constraint

I wrote down a few non-negotiables:

That ruled out most of the obvious options very quickly.

What remained was not a product choice, but an architectural one.

Choosing boring technology on purpose

I ended up with three deliberately unexciting decisions:

There’s no database.
No runtime logic.
No platform-specific features.

Just text files turned into web pages.

“Boring” here is not an insult. It’s a guarantee.

Building locally first

One unexpected benefit was how this changed the act of writing.

I write locally. Offline if I want.
I preview the site on my own machine.
Nothing is published until I explicitly decide it is.

Authoring and publishing are separate again. That separation used to be normal on the web. We quietly lost it.

Hosting as a replaceable layer

When it’s time to publish, I upload files. Nothing more.

The host doesn’t know what a “post” is.
It doesn’t run builds.
It doesn’t own metadata.

It serves bytes.

That’s intentional. If the host disappears or changes terms, I move the files elsewhere. No migration project. No export dance. No rebuild of history.

Owning the name

The real anchor isn’t the host. It’s the domain.

The domain points somewhere today.
It can point somewhere else tomorrow.

That single DNS change is the only coupling point between this blog and its infrastructure. Everything else is replaceable.

This is what “ownership” looks like in practice. Not control over a platform, but control over indirection.

Measuring without surveillance

Even a simple blog raises the question of analytics.

Most analytics tools assume tracking first and insight second. They rely on cookies, user profiles, and cross-site correlation. That model doesn’t fit the rest of the choices made here.

So this site uses a privacy-first counter that does exactly one thing: it counts page views.

No cookies.
No user identifiers.
No consent banners.

I get a rough sense of whether anyone is reading. Readers don’t become data exhaust.

Again, boring by design.

What this setup gives me (and what it doesn’t)

It gives me:

It does not give me:

That’s a conscious trade-off. This blog isn’t optimised for reach. It’s optimised for staying put.

A smaller carbon footprint

There’s another consequence of this setup that I didn’t optimise for, but is worth noting.

A static site has a very small carbon footprint by default.

There’s no application server running continuously.
No database queries per request.
No personalised pages being rendered on demand.

Each page view is a simple file transfer, served efficiently and cacheable almost indefinitely by default. The site is built once, locally, and then read many times.

Compared to dynamic, analytics-heavy publishing platforms, the difference is not subtle. Most of the work happens upfront. Almost none happens at runtime.

This wasn’t the goal.
But it’s a welcome side effect of choosing simpler infrastructure.

Closing thought

This setup doesn’t make this blog better.
It makes it harder to take away.

It also happens to be lighter, simpler, and cheaper to run.

Those used to be normal properties of the web.
They’re becoming choices again.

Technical notes (for the curious)

For those interested in the concrete choices behind this setup:

None of these choices are unique or mandatory.
They are simply one way of making exit cheap and control explicit.