The Great Experiment!
TL;DR: Every single part of this website — Umbraco backoffice, Nuxt frontend, Azure pipelines, and all the infrastructure — is open source. You can dig into it all on GitHub
This site started as a blog, but quickly became something else: an excuse to overengineer on purpose. I wanted to see how far I could push a headless Umbraco setup in Azure — and more importantly, how cheap I could run it without cutting corners on architecture.
The result? A blog that costs about 13 DKK/day to run, with caching, scaling, and a proper setup that would be considered serious infrastructure for something far more complex than, well, a personal blog.

Why Umbraco?
Because Umbraco is the foundation that makes this fun. It’s the friendly CMS, but also flexible enough to let me go fully headless, experiment with caching strategies, and stress-test what a “proper” setup looks like when you treat even a blog as production-grade.
Caching Is the Trick
The experiment now runs on basic-tier App Services, which means both the frontend and Umbraco backoffice are always on. That keeps things simple and predictable.
The real trick is in caching. Azure Front Door sits in front of everything, serving cached content whenever possible. When I publish in Umbraco, it automatically triggers a purge of the Front Door cache, making sure fresh content is available right away.
In other words: keep the servers steady, let Front Door do the heavy lifting, and only wake things up when there’s actual new content to serve. Of course with the option of proper dynamic content by filtering in Front Door. If this wasn't a blog...