Blog

Blog Post

Static Sites Without Big Tech Hosting

If you run a static website, you rarely think twice about hosting. GitHub Pages works, costs nothing, and the code is already there anyway. But “works” and “sovereign” are two different things. This recipe shows how to build a stack with statichost.eu plus Codefloe or Codeberg that is just as convenient, but stays in European hands, treats visitor data transparently, and does not depend on a transatlantic legal basis that is currently starting to wobble.

Blog Post

The Data Dilemma, Part 2

The first part showed why agents fail on undocumented data semantics and why Data Mesh is not a realistic answer for many mid-sized companies. This second part gets concrete: a Minimum Viable Data Mesh in four layers, from an honest inventory through curated views with ODCS contracts to agent access via MCP. A purchasing agent that compares suppliers and evaluates price histories serves as a running example.

Blog Post

The Data Dilemma, Part 1

Data Mesh and the reality in mid-sized companies

Blog Post

How do you train people on a subject that changes every week?

For the past year, we’ve been training development teams to use AI agents across the entire software development lifecycle. In that time, we’ve delivered 47 trainings to more than 500 participants. Here’s what goals companies bring to us, what sets our training apart, which moments have stuck with our trainers, and why the real work starts after the training ends.

Blog Post

What ECST Events, Domain Events, and ECST Really Are

“ECST Event”, “Domain Event”, “ECST”: these terms appear in almost every discussion about Event-Driven Architecture and Domain-Driven Design. Surprisingly often in practice, different people have a different understanding of them.

Blog Post

Indecent Exposure

Your SPA’s API Is Showing Too Much

Blog Post

Trust but Sandbox

Coding agents can now do (almost) everything. They read and write every file you have access to, they run arbitrary commands, talk over the network, read your environment variables, and drive your browser with all your cookies. In the spirit of an agentic workflow, where we let agents work as autonomously as possible, that is actually the point, because it is exactly what makes them useful. Even so, we should find a way to gain more control over what happens in there.

Blog Post

Beyond Claude & GPT

Sure, we enjoy trying out the latest frontier model as much as anyone. But in day-to-day project work, what matters most is control over cost, data, and availability. That’s why we increasingly rely on open-weights models paired with open source tooling. Here’s what our setup looks like.

Blog Post

Stop Using Bearer Tokens Like House Keys

DPoP with Heimdall

Blog Post

Alternatives to U.S. Artificial Intelligence

Claude and GPT have transformed the way I write software, but I’m becoming increasingly uncomfortable with rising costs, vendor lock-in, and our growing dependence on a handful of U.S. providers. After exploring local models and open-weight alternatives hosted in Europe, I was surprised to discover that some lesser-known models can already handle much of my day-to-day work.

Blog Post

Faster Is Not Better: On Experimentation Culture and What It Costs

Faster experimentation sounds like an obvious advantage. But experimentation culture is not a universal paradigm. It is a product of a very specific context. And the people who bear the heaviest cost of poor product development never appear in any experiment.

Blog Post

OpenProject: A Real Alternative to Jira?

Blog Post

The Agentic Trio

The Product Trio separated discovery from delivery because delivery required a larger team. Agentic development removes this constraint. That changes what a product team can look like.

Blog Post

RAG and Fine-Tuning

Large Language Models (LLMs) don’t always produce reliable results. In practice, one thing becomes clear: combining Retrieval Augmented Generation (RAG) and fine-tuning can make them more robust. This post explains how the two approaches complement each other – and why a production feedback loop is critical.

Blog Post

Using the space, not optimizing the treadmill

Why agentic development needs product discovery

Blog Post

The Missing Half of Your Data Strategy

In order to stay competitive, a modern data architecture is essential. It enables sound decisions and data-driven development at all levels, from strategic choices to feature prioritisation and buy-or-build decisions. The ability to collect, understand and act on data is no longer optional. Many organisations recognise this and are investing in data mesh initiatives and similar approaches. Through modern infrastructure and self-service platforms, they aim to democratise access to corporate data. However, these platforms often fail to fulfil their potential because people still do not know how to work with data or what value they can derive from it. For a successful data strategy, this has to change. Let’s talk about data literacy.

Blog Post

Nebu: Self-made sovereignty

There are plenty of open-source alternatives to Slack. None of them deliver real sovereignty. Community editions are deliberately pared down so no company can run them in production, while enterprise features sit behind commercial licenses. This article shows why “building it yourself” is no longer a utopian idea today, but a realistic option for anyone with a product vision and a bit of DIY courage.

Blog Post

Accidental Complexity in the Heart of Software

Blog Post

Hail Mary: Why domain knowledge cannot be extracted from experts

AI agents promise to replace weeks of requirements workshops with hours of structured interviews. The pitch is compelling. The cognitive science is not.

Blog Post

From Vibe Coder to Agentic Engineer

I no longer read every line of code that’s produced in my projects. I think most people who work intensively with AI agents feel the same way. When an agent produces a thousand lines in ten minutes, line-by-line review is no longer realistic. At the same time, that code ends up in production, and someone has to take responsibility for it.

Blog Post

The Right Kind of Hard

On dead weight, false clarity, and other hidden costs of spec-driven development

Blog Post

AI Features for Jira Data Center – No Atlassian Cloud Required

Imagine this: after every customer meeting, structured Jira issues are created automatically. You just paste your notes into an AI, and it does the rest. Atlassian already offers that kind of magic in Jira Cloud: natural-language search, automatic summaries, and issue creation from unstructured text. But not everyone wants to move to the cloud, and many teams plan to keep using Jira Data Center through 2029. In this article, we show how to get many of the same benefits on-premises with Jira Server and your own AI stack: GDPR-compliant, resilient to Cloud Act exposure, and without data leaving your environment.

Blog Post

Where AI Helps (and Hurts) Across Different Coding Scenarios

Where does LLM-assisted software development improve developer productivity—and where does it fall short? Instead of treating AI in software development as a one-dimensional productivity booster, we explore the question across several dimensions suggested by a Stanford-adjacent study: project maturity, task complexity, and the popularity of the programming language. The goal is to create a more realistic expectation baseline for both software developers and leaders—well away from today’s hype.

Blog Post

Spec-Driven Architecture: When Agents Build, Architecture Must Speak

SDD describes how a system is built. SDA describes how systems fit together

Blog Post

REST Beats MCP

Instead of using dedicated APIs, agents can operate existing web applications directly. Like humans, they rely on the most consistent implementation of hypermedia and benefit from existing context, validation, and access controls. Using an expense report as an example, I show how agents can automate complex, context-dependent tasks—without having to implement new APIs.