A little over a year ago, in February 2025, I launched moinframe. But the wish to share my excitement for Kirby with more people had been brewing for years before that.
Let's take a quick trip down to memory lane.
I found Kirby CMS back in version 2, looking for a proper home for my photography portfolio and blog. Back then, WordPress was the obvious choice, and to be fair, WordPress is what introduced me to the whole world of self-hosted websites in the first place. I owe it that.
But a predefined theme was never my dream. So I dug into the theme files pretty quickly, met the famous WordPress Loop, and realized: nope. Everything is a post, the syntax, widgets and the markup ends up tangled with the logic in ways I never got comfortable with. It worked, but it never clicked, as the cool kids say. Even though I wasn't a developer back then.
Then I found Kirby. A flat-file CMS, written in PHP, no database, no themes, no opinions about how my templates should look. A whole stack of friction was just gone.
The Panel was clear and customizable, all fields were the simple yaml structure we still use and love.
Image handling was easy, too. Of course with one necessity: the Focus Plugin developed by Flo, which was an amazing helper on image heavy layouts.
With php 5.3 (ha!) in the backend, I could built anything. A client gallery with password-protection, a pricelist with token based authentication (via url query). I even used the params() method for displaying child page content.
Here is the thing: Kirby did not turn me into a developer overnight. No software will, AI won't.
Kirby just did not get in the way. And I think that is the biggest trait.
Simple enough to start with as a designer, deep enough to grow into when I was ready. That is a rare combination. And this promise is kept over the last 10+ years.
Of course, Kirby was never the loud option. Every couple of months, the dev scene picks a new winner. When I started developing seriously, React was the new kid on the block. Then Next.js. Then headless everything. With round trips to Strapi and other Content Management Systems it always made work and setup more complex, while the output was not improving. In the size of projects I worked on anyways.
Now there is AI everything. If you sit there with a flat-file CMS and tell people it is what you build with, you can feel the polite skepticism in the room. Is that a real Gamechanger? Will that make me 30% more performant?
Spoiler: it is not. It's not intended to. And I like that.
It has made my work-time a blast and provided at least a 30% happiness boost. That's the real value.
During my communication design studies, a few friends and I started a small studio and built actual client websites in Kirby 3. A furniture store. An industrial supplier. The little shop around the corner. Whatever the brief was, Kirby could carry it.
Fast forward through a few years at an agency, and the same picture, just bigger. Mid-sized clients, with great ambitions. API backend for a Web app for a trade fair booth? Maintained through Kirby. Service Portals, Company pages, Blogs. Having worked with Typo3 and Drupal before, Kirby provided a faster development time, a closer connection to the design team and a better editor experience in the panel for sure. Going Headless with Kirby and KQL, I was mapping content blocks from the panel into a Nuxt frontend. A little change in the preview option and the editor experience stayed superb.
This is the part that does not sound impressive but is the actual quiet superpower: every month, a new client requirement lands on the table. With the german "Mittelstand" as customers, it was always something specific or weirdly shaped. And nevertheless the conversation nearly always ended with, "yeah, that will work fine with Kirby." A confidence, built up over years and not over hype cycles. Today Claudia and I run Gute Kombi, our own brand and web studio. Smaller team, same answer when a brief lands on the table.
And in 2026, the case for the underdog has only gotten stronger. Every week brings a new AI-powered framework promising to disrupt the disruptors. The hot library from a couple of years ago has either been abandoned, renamed, or absorbed into something else. Kirby is here. Still light, still PHP, still in the hands of the people who build with it.
With the beautiful projects built on Kirby I see every week, i feel like: This underdog is winning. We don't do 10x performance. We do not disrupt the industry. We just kind of... finish awesome projects. Outrageous, I know 😬
And now, my head will have Banks on repeat the whole day. Lalala as the underdog (Rah).