About
Everything I've built started with the same impulse: make the underlying system fail closed, and build assertions that admit when a model doesn't know.
I grew up making sense of the world through code and distributed systems, tearing apart data pipelines before I fully understood their higher-level interfaces. Pass untyped strings between services and you spend your life debugging edge cases; enforce strict schema contracts and the architecture forces you to be honest about state mutations.
The tool you reach for shapes what you're able to imagine. If your test suite only checks for string equality, you will never catch semantic drift.
I'm also a certified facilitator in LEGO® Serious Play®, which I use with engineering leadership to stress-test system boundaries, alignment, and failure modes before writing code.
How I got here
Raw scripting
Data pipelines held together by assumptions, and the education that came from watching them fail at the seams.
Distributed ETL
Data and automation infrastructure for teams in Germany and the Nordics. Real software almost never crashes inside its main algorithms — it degrades silently at the boundary handoffs.
LLM reliability
One question: why do production AI systems fail so quietly? A retrieval step pulls the wrong chunk, an agent hands a hallucinated state to the next step, a fine-tune degrades behaviour nobody wrote an eval for.
The deterministic gate
Procurement intelligence across 20,000+ government portals. Schema validation, verifiable entity resolution, and failing closed before hallucination reaches users.
Reversible tools
Consulting on the same layer for other teams: eval gates, drift detection, and the unglamorous pipelines underneath.
What I'm doing now
Currently building national-scale procurement intelligence at Prospecto, across 20,000+ government sites. Parsing hundreds of thousands of public tender notices across Europe is the ultimate zero-hallucination test: every entity must be resolved with evidence, every schema migration must be reversible, and every extraction must fail closed rather than invent plausible numbers.
Three of these tools are public. Compliance Agent screens policies against explainable YAML rule packs. LegalDrift runs statistical hypothesis tests over embedding distributions to catch when a contractual obligation inverts while the redline looks unchanged. DiffDDL parses database schemas into ASTs so an agent can propose a migration without silently dropping a column.
I write about the mechanics underneath: why RAG decays silently, why hallucination is architectural, not a bug, and why a five-agent pipeline of 90%-accurate agents nets 59% end-to-end accuracy.
If there's one thread connecting everything, it's that I care about the unglamorous layers underneath the demo — not how clever a prototype looks, but whether it behaves deterministically when real users rely on it.
Experience
Distributed pipelines aggregating procurement data from 20,000+ government sites; NLP/LLM tender classification and entity resolution across suppliers, buyers, and tenders.
Python ETL and automation (n8n, Zapier, Power BI) for recruitment, sales, and HR workflows at Siteimprove, Hedvig, ABC Labs, and BIIOC.
Validation pipelines integrating ESCO/ISCO accreditation frameworks with Danish and Swedish national registries.
Working together
Fastest response is a question about a stubborn eval failure or an unglamorous data pipeline. I take a small number of engagements at a time. I'm also on GitHub, Hugging Face and LinkedIn.