Epistemic status: fairly certain?

Created during my second cup of filter coffee this morning, via violent dictation of voice notes — on the verge of causing digital-physical harm to Claude. Dictated, thrown at Claude to clean up and stitch together, and published more or less immediately. You’ve been warned.


On WordPress Wars, Static Sites, and Why You Should Write on the Internet

It’s always funny being on Twitter because you get to witness some of the most violent verbal wars over things that, in the grand scheme of things, are fairly niche.

In the last couple of weeks, Cloudflare released an open-source CMS called EmDash, which pretty much looks like WordPress. It’s built on Astro, a framework Cloudflare acquired earlier this year, and you can easily deploy it on Cloudflare Pages. Their pitch was simple: WordPress plugins are riddled with security holes, and EmDash lets you run plugins in sandboxed Worker isolates to keep them secure.

And this — this elicited a war of words that puts World War 2 to shame.

Matt Mullenweg, WordPress co-founder, fired back on his blog almost immediately. His verdict? “I think EmDash was created to sell more Cloudflare services. If you want to adopt a CMS that will work seamlessly with Cloudflare and make it hard for you to ever switch vendors, EmDash is an incredible choice.” He originally signed off with a line invoking the Will Smith Oscars slap — “please keep the WordPress name out of your mouth” — which he later edited out as too spicy. Classic internet.

Petty in the grand scheme of things, sure. But it reminded me of my own journey with WordPress.

I’m not a technical person, or at least I wasn’t. Now I’m basically an expert coder, thanks to Claude Code. (Aside: I currently have four Claude Code agents running — one for what might eventually compete with Amazon, one for Spotify, one for Gmail, and possibly a few others. I’m also potentially vibe-coding a better set of parents. But anyway.)

It reminded me of my early days, paying 10–15,000 rupees a year for a shared hosting plan with one-click WordPress installation via Softaculous. Then a friend introduced me to Zola. Around the same time, a colleague — Karan Sharma, who wrote a great post on exactly this migration — showed me that if your use case is simply writing on the internet, all you really need is a static website. Something you can host for free on GitHub Pages or Cloudflare Pages.

And honestly? 90% of people with personal websites don’t need anything more than that.

With every passing model upgrade, spinning up a static site using frameworks like Hugo, Astro, Zola, or Jekyll has only gotten easier. Not only can you get Claude Code to build the whole thing, you can design it however you like. Pink, brown, and orange blinking lights in full Tamil style. Neon green, violet, and faded brown with blinking underlines, Comic Sans, Mario-themed, Star Wars end-credits-style text scroll. Whatever the hell you want.

Then you just host it on Cloudflare Pages, which has a generous free tier. All you need is a Claude Code subscription — spin it up, describe how you want it to look, have it mock a few designs, finalize one, and tell it to build in Astro or whatever framework you prefer.

And here’s the thing: if you’re not a technical person, using a terminal to actually post to your site has always been a pain. But now you can connect it to EmDash and manage your blog exactly like you would with WordPress. And even before EmDash, there were great CMS options — I still use Pages CMS to post on rabbitholes.garden every day. Huge shoutout to Ronan Berder for building something so simple, functional, and genuinely good, and for keeping it completely free.


But on a more personal note, regardless of what happens with AI, regardless of whether LLMs or some new paradigm become the be-all and end-all — I think there is enormous joy in having your own personal blog and writing on the internet.

Writing is easily one of the best forcing functions for learning about new things, thinking through them, and sharing your perspective with other people. And there’s a reason it’s a forcing function: the moment you start typing, your half-formed opinions tend to crumble. All the blind spots in your own thinking become immediately evident. You can have the most amazing take on something, and the act of writing it out will expose every gap in it. Joan Didion put it best: “I write entirely to find out what I’m thinking, what I’m looking at, what I see and what it means.” That’s exactly it. The writing isn’t the output of the thinking. It is the thinking.

I’ve also been having a phenomenal amount of fun with link blogging, something I’d wanted to do for years. It forces me to find new things, share them, and almost every time I do, it sparks new conversations with new people and sends me down new rabbit holes.

I was rereading a brilliant post on why you should start a blog, and it hit me: we are all nodes. We take in knowledge, process it, and retransmit it. In that sense, having a blog is almost a moral imperative — whether you’re writing and sharing your own opinions, or just finding interesting things elsewhere and sharing links to them. You are contributing to the cause of knowledge transmission. And you never know how what you write will impact someone else.

A link to a random podcast, an article, a research paper — it could send someone down a wonderful rabbit hole. It could answer a question that had been nagging at them for months. It could inspire them to follow a new career, or write something new themselves. Knowledge is like a catalyst. It interacts with the mental chemicals in people’s heads and leads to unpredictable reactions. That’s the true essence of sharing — we all learn from each other, and it’s only fair to put back what you’ve taken in.

In 2026, spinning up a beautifully designed website is essentially free, barring the Claude Code subscription. You can design it however you want and just… write.

Writing is one of the simplest things you can do to create momentum in your life, put yourself in places where you meet new people, and discover new opportunities. It should be an inherently fulfilling activity — something you want to do, not something you force yourself to do. If you have that mindset, everything else becomes a bonus. If you don’t, you’ll end up optimizing for metrics or outcomes, and that’s where the joy dies.

So — ignore the technical world wars. Use Astro, Hugo, Zola, whatever. Tell Claude Code to spin up your website, describe how you want it to look, ask it to optimize for speed. And then start writing. Listen to that Voltaire fellow. He said the perfect is the enemy of the good and the dude’s right. Just start.

If you’re wondering where to begin, Simon Willison has the simplest possible answer: find something interesting, share it. Add a sentence about why you find it interesting. Do that a few times, slowly start adding your own take, and congratulations — you’re a blogger. That’s genuinely all it takes.

Regardless of what happens, there’s great merit in continuing to write. And the great merit is simply this: you’ll have fun.


📝 A note from Claude — the simple recipe for your own free website

Here’s how to go from zero to a live personal blog with no technical experience required:

Step 1 — Pick your framework

All of these are free and excellent. The honest breakdown:

  • Astro — best for modern, flexible design; works seamlessly with EmDash; great if you want your site to feel distinctive
  • Hugo — blazing fast builds, the richest theme ecosystem, ideal if you just want to write without fussing over design
  • Zola — single binary, zero dependencies, dead simple; great if you want something clean and maintenance-free
  • Jekyll — the oldest of the bunch, massive community, integrates natively with GitHub Pages

Honest recommendation for most people: start with Hugo or Astro. Hugo if you want to be writing in ten minutes. Astro if you care about how it looks.

Step 2 — Describe what you want to Claude Code

Open Claude Code and say something like: “Build me a personal blog using Astro. Clean, minimal design. Fast load times. Dark mode. A homepage with recent posts, an about page, and a tags page. Optimize for speed.” Ask it to mock 2–3 designs. Pick one. Iterate. Done. The whole thing should take under an hour.

Step 3 — Connect a CMS so you never touch a terminal again

Set up Pages CMS (completely free, built by Ronan Berder) — it gives you a clean, WordPress-style editor that commits posts directly to your GitHub repo every time you hit publish. No terminal, no git commands, nothing. Or try EmDash once it matures — more feature-rich and built specifically for Cloudflare’s stack.

Step 4 — Deploy for free on Cloudflare Pages

Push your repo to GitHub. Connect it to Cloudflare Pages. From that point on, every time you publish through Pages CMS, your site auto-deploys in under a minute. Globally distributed, ridiculously fast, costs you nothing.

Step 5 — Write.

That’s the whole thing. Total cost: ~$20/month for Claude Code. Everything else is free.


As I finished writing all of this, I realized I’d basically just made a long argument for a simple idea I already published: when in doubt, do. What follows is a mini-soliloquy — a mental splatter on exactly that. Consider it an appendix, a companion piece, or just me thinking out loud. Which is what this whole post has been anyway.


When in Doubt, Do

What follows is a lightly cleaned-up transcript of voice notes I dictated while thinking out loud. A textual vomit, if you will — an ejaculation of whatever profound wisdom happens to be rattling around in my head on any given afternoon. I make no apologies. You’re welcome.


I have a new micro-philosophy. Not inspired by Marc Andreessen, I want to be very clear about that. It is this: when in doubt, do.

It’s very easy to think about doing all the things. To sit with your grand plans, your Notion docs, your never-ending to-do lists, your project briefs. Meanwhile the swirling black holes of anxiety and doubt pull you into ever-deepening quicksand. The more you think without acting, the deeper you sink.

So my simple suggestion: when in doubt, don’t overthink it. Just do as many things as possible. Because all the good things that have ever happened to you in life are downstream of actions, not thoughts.

You can sit underneath a banyan tree and wait for enlightenment to strike you. Maybe it’ll slap your prefrontal cortex. Maybe it’ll flick you in the nuts. But it ain’t gonna happen that way. The highest-probability route to enlightenment is in the process of doing things, whatever they may be.

And what do I mean by “do things”? The things you’ve always meant to do. The ones permanently living on your to-do list. Start that blog you always wanted. Build that small tool you’ve been sketching in your head. Start that podcast. Send a blind email to the person you admire. Message someone on LinkedIn. Go to that place you’ve always meant to visit. You don’t need to start big. Start with the smallest, most easily doable version of the thing. A micro-action.

I’m living proof that momentum from small actions compounds. One small thing leads to another, and before you realize it your life starts to feel like an avalanche barreling downstream, picking up everything in its path.

This isn’t some wisdom I plagiarized off an Instagram post. I am in very good company on this one. Aristotle’s whole theory of virtue was built on the idea that we become what we repeatedly do — the doing is the becoming, not the other way around. And Seneca was writing essentially the same thing two thousand years ago. In the very first of his letters to Lucilius — Letter 1, the opening shot of his entire body of correspondence — he couldn’t even wait until Letter 2 to get into it:

Continue to act thus, my dear Lucilius — set yourself free for your own sake; gather and save your time, which till lately has been forced from you, or filched away, or has merely slipped from your hands. The most disgraceful kind of loss, however, is that due to carelessness. Furthermore, if you will pay close heed to the problem, you will find that the largest portion of our life passes while we are doing ill, a goodly share while we are doing nothing, and the whole while we are doing that which is not to the purpose. While we are postponing, life speeds by. Nothing, Lucilius, is ours, except time.

William James, writing eighteen centuries later, said essentially the same thing in a series of lectures in 1899 that have aged embarrassingly well:

Seize the very first possible opportunity to act on every resolution you make.

James goes on to argue that a fine feeling or a good intention, if allowed to evaporate without bearing practical fruit, is worse than a chance lost — it actively works against your future self. The road to hell, he notes cheerfully, is paved with good intentions.


Here’s an analogy from finance that I find weirdly clarifying. There’s a phenomenon called the momentum effect. Stocks that are going up tend to keep going up for a while. Stocks that are falling tend to keep falling. This is one of the most robust and empirically validated observations in all of finance, documented across 212 years of U.S. equity data, and the foundation of many a hedge fund strategy. The intuition is almost embarrassingly simple: buy what’s rising, avoid what’s falling. It has worked phenomenally well.

I think the exact same momentum effect applies to life. The way to end up somewhere you actually want to be is to start with the simplest action possible and let it compound. This applies to fitness, to intellectual development, to relationships, to creative work. To basically everything.

Two of my favorite micro-actions are reading and writing. Almost entirely free. In 2026, you can go to Project Gutenberg or Substack and start reading phenomenally good things at zero cost. And the other micro-action I keep banging on about: start a blog. Ask Claude Code to spin one up. Write about the things you read. Before you know it, you’re an opinionated little pundit starting things up on the internet.

A blog is, in many ways, the simplest possible “when in doubt, do.” It costs nothing. It requires no permission. And the momentum it creates — the conversations, the rabbit holes, the people you meet, the thinking it forces you to do — compounds in ways you genuinely cannot predict in advance.

And if you need one more push: seneca.ink is itself a product of this philosophy. I built it because I was floored by how good Seneca’s letters are — two thousand years old and they hit like they were written last week. I just wanted more people to read them. So I vibe-coded a simple website by describing what I wanted to Claude, and a few hours later it existed.

When in doubt, do. Start somewhere. Start small. The avalanche will take care of itself.