No Dashboard, No Excuses

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.


Personal writing on software, building products, travel, and life on Madeira.
Honest, infrequent, not optimized for your inbox.



2026

No Dashboard, No Excuses


26/04

The attention economy proved RSS right


25/04

The Quality Drift


24/04

The Developer Role is Changing


22/04

2024

My future self knows better


19/12

All or nothing


18/12

Social following & connection


08/12

My relationship to social media


01/12

Dental surgery & expectations


22/11

On leaving X again


08/11

Personal blogs


02/11

Click to cancel


19/10

2021

Every day learning


30/01

Out of the shadow


10/01

Now vs. Later


09/01

Why do I want to write


08/01

Our first Youtube LIVE


02/01

A new day


01/01

2020

Daily Practice


30/12

Fast forward six months


12/12

Going down the rabbit hole


07/12

Getting ready


06/12

Impact of customer support


27/11

A lot has happened


19/11

It's ok to have bad days


08/09

My first productive week


17/07

Countdown & Commitment


08/07

Transition time


07/07

Our travel continues


06/07

Understanding Men & Women


05/04

The fear of the unknown


04/04

Hello World (literally)


01/03

Almost being scammed


09/02

Our next chapter


02/02

2019

Forced to try something new


10/10

I am not good at ...


29/09

ContextLabel 1.6.0


08/05

2018

I'm not on LinkedIn


24/12

Don't be right, be open


22/12

Healthy Lifestyle


30/09

2016

Hill88


08/08