Data and AI engineering
Systems that have to be right
Ten years building data platforms, machine learning systems and, since 2023, AI applications in production. Currently engineering a procurement platform and the AI layer of a German federal marketplace, on sovereign European infrastructure with open-weight models.
What the work usually isđź”—
Four shapes, by how often they come up.
Building the thing. A data platform, a retrieval system, an agent that has to work rather than demo. Full ownership: architecture, code, deployment, the on-call consequences.
Deciding what to build. A teardown of what exists, an architecture for what should, and a plan broken into pieces that can be bought separately. Ends in a document, not a commitment.
Standing in as the senior engineer. Tech lead or architect inside an existing team, usually where something has grown past the people available to it.
Making the team able. Hiring, technical interviewing, review standards, and training. Several engagements have been more about the second engineer than the first system.

Positionsđź”—
Views that shape what gets built. They are here because a reader should be able to disagree before a call rather than after an invoice.
Most problems presented as AI problems are retrieval problemsđź”—
The interesting part of a working system is almost never the model. It is what gets put in front of it, and whether the thing that put it there can explain itself. Fine-tuning is for form, not facts.

An agent that cannot be audited cannot be shippedđź”—
Anywhere the output carries a consequence, a regulator, a procurement record, a customer's money, the system has to be able to say what it did and why. That constrains architecture from the first day, and it is cheaper than retrofitting it.
Where the model runs is an architecture decision, not a procurement oneđź”—
Data residency, model availability and vendor catalogues decide more of the design than benchmark scores do. A model that is correct on one cloud can be missing on another, and a stack assembled without that in mind has to be taken apart later.
Steering beats blockingđź”—
A system that refuses a legitimate action costs the user their afternoon and the platform its credibility. Where a rule cannot be verified from the data available, the honest design records what it found and leaves the decision with a named person.
The best outcome is sometimes that you do not need thisđź”—
Some problems are a scheduled query and a spreadsheet. Saying so early costs one conversation and earns the next three.
Where this has been doneđź”—
procure.ai, since 2025. The agent layer of a commercial procurement platform, then tech lead and platform engineering for their part of Marktplatz Deutschland, the German federal procurement marketplace, delivered on sovereign European infrastructure alongside three other organisations.
OneFootball. Principal machine learning engineer, then VP of engineering. Natural language and graph systems over football news at consumer scale.
Carbonfact, Edifice, Sodistra and others. Carbon accounting under regulated reporting, EdTech data platforms and hiring, precision livestock farming.
Senzing, Tilores, NebulaGraph. Entity resolution and knowledge graphs, mostly as technical writing and developer experience.
Shape of an engagementđź”—
No day rate quoted here, deliberately. The work varies too much for a number to mean anything before a conversation, and the fixed-price options that suit a defined piece of work do not suit an open-ended one.
What is consistent:
- A written scope before anything starts. What is included, what is not, and what happens if it takes longer than judged.
- Direct. No account manager, no junior, no subcontracting.
- Reversible. Conventional, widely used foundations, documented as they are built, so the team can take over.
- Honest about fit. Where the right answer is a permanent hire, a product, or nothing, that is the answer given.
Thirty minutes, no commitment
Describe the problem. If it is not one I should take, I will say so and suggest what is.
