I've wanted to write more for a long time. The intention has been there in various forms — a new year's resolution, a vague commitment, the occasional burst of posts followed by a long silence. And I always had a reason it wasn't happening: the dashboard was too much friction.
Was that an excuse? Partly. But there was something else: I didn't really have much to say. That one's harder to admit. The dashboard gave me something to point at.
I was running my blog on Kirby CMS — great software that I've used and recommended for years. But opening a browser, navigating to the admin panel, logging in, and clicking into a new post felt like context switching. I'm a developer; my day is spent in a terminal and an editor. Dropping into a web interface to write felt like picking up a different tool for what is, in essence, the same kind of work: producing text.
So I moved to Astro. Partly for the workflow. But also partly just to experiment — I'd been curious about Astro for a while and this felt like a real reason to actually try it. The blog is now a static site where every post is a Markdown file inside a Git repository. Writing a post means opening a file in Zed, typing, and committing the change. Publishing means pushing to GitHub, which triggers a deploy. There's no dashboard, no login, no mode switch. The workflow is identical to shipping code — because it is shipping code.
What surprised me is how much that changes the feel of writing. Opening a new post file in the same editor I use to build software makes writing feel like a natural extension of the work, not a separate activity requiring a different headspace. The posts I've written since migrating — including this one — happened because starting them cost almost nothing.
The other shift is harder to explain as workflow. Since moving to AI-driven development, I've been thinking more, noticing more, shipping more. The thoughts are actually there now. That's the part the Astro migration didn't fix.
The version of me that blamed the CMS wasn't entirely wrong, but I was also using it as cover for not showing up. The new setup doesn't make writing easier in any meaningful sense — the words still take effort. What it does is remove the moment of resistance at the start, the small activation cost that was apparently enough to tip the decision toward "later." Later, it turns out, usually means never.
Update: Just a few hours after writing this, I moved the blog back to Kirby CMS. Astro delivered on the curiosity — it's genuinely interesting software, especially around .mdx. But a few practical things added up. The free Netlify account started running out of build credits. Scheduled posts on a static site meant a cron job or a third-party service. When I looked at SSR to fix that properly, it meant cloud workers — more complexity, more cost.
I already run other Kirby sites on DigitalOcean, so staying there adds nothing to the bill. And I've been using Kirby for years; it's seriously good software for content sites. Then the obvious thing landed: Kirby can run without the dashboard entirely. Markdown files, git push, done. The same workflow I'd built in Astro was available in Kirby the whole time. I just hadn't looked. The CMS was never the problem.