Why I use a static website

The site you’re reading lives as a folder of plain Markdown files. A tool turns them into HTML. GitHub serves the HTML. That’s it. No database, no PHP, no React app, no backend, no analytics SDK, no cookie banner. I keep choosing this setup over the modern alternatives — Substack, Medium, Wordpress, Notion sites — and people sometimes ask why. Here’s the answer.

It loads instantly Link to heading

A static page is a finished file. Your browser asks for it; the server hands it over; you read it. There’s no template to render, no database query to wait for, no JavaScript framework to spin up. On a slow connection or on a phone with a tired battery, the difference is obvious — the page is just there.

Most modern blogs do roughly the same thing under the hood (read a database, render a template, return HTML), but they do it on every request, often through several layers of caching that someone has to maintain. With a static site, the rendering happens once, on my laptop, when I publish. After that, every reader gets the prebuilt result.

I write in Markdown, and the writing outlives the platform Link to heading

I draft each article as a .md file in a regular text editor. No WYSIWYG toolbar, no formatting menu, no AI-suggested rewrite. Just text and a handful of symbols — # for a heading, * for emphasis, [text](url) for a link. The constraint is the point: when the page can’t show popups, sidebars, or “you may also like” rails, the value has to be in the words.

Markdown is also portable. If Hugo disappears tomorrow I can pipe the same files through any other static generator, paste them into a different blog, or just print them. Compare that to a post locked inside a hosted platform’s editor, where exporting yields a tangle of HTML that’s painful to reuse. Plain text has the longest shelf life on the internet.

It’s the old-days internet, without the noise Link to heading

I came online when websites were small, hand-built, and quiet. You’d land on someone’s page, read what they wrote, maybe click a link to another small page, and leave. No infinite scroll. No “engagement.” No bidding marketplace deciding which ad would appear in the gap between two paragraphs. No audience inferred from your phone.

A static blog brings most of that back. There are no third-party scripts on these pages, so nothing tracks you, nothing pings home, nothing waits for a slow ad network before showing the article. There’s no algorithm choosing what to put in front of you next; you choose, by clicking. The internet I missed is still possible — it just isn’t the internet most people are on by default.

I own the whole stack Link to heading

The site is a Git repository. The history of every change to every post is in there. Backing it up is git clone. Migrating it is copying a folder. If GitHub stopped hosting it tomorrow, I’d have the source on my laptop and could put it back online elsewhere by lunchtime. There’s no vendor I’m dependent on, no terms of service I have to refresh, no “your account has been suspended” email to fear.

That ownership matters more than it sounds. When the medium is yours, you can take your time. You can write something niche. You can leave a post up for years without it sliding off some feed. You can come back and edit. The work compounds; nothing is rented.


This site runs on Hugo for the build, GitHub Pages for hosting. The practical setup is a separate post — this one is about why, not how.