AI/ML engineer. Twenty years building systems that ship — natural language processing, computer vision, time-series forecasting, and most recently LLM applications and agent systems.
What I care about is whether they work, and whether anyone can prove it. Most AI projects can't answer that. The demo goes well, the tests pass, and nobody can tell you what the system gets wrong until a customer finds out.
So I build the evidence alongside the system: evaluation sets that get checked rather than assumed, measurements that survive a hard question, and failures published next to results.
An evaluation-first RAG system over the GDPR — built in public, on stream, mistakes included.
The compliance assistant isn't the point. The evidence layer under it is: an answer key that gets checked rather than assumed, and every failure published next to every result.
Status, as of 2026-08-10:
| Evaluation questions | 433 |
| Passing every quality check | 319 |
| Quality gate | FAILING |
| Published performance numbers | none |
The gate fails because 114 supporting quotes don't match the article they claim to come from. I'm not publishing system numbers off an answer key that doesn't pass its own checks, and I'm not relaxing the gate to make it green. They go up when they're real — including everything the system gets wrong.
Seven sessions in, the instrument has turned out to be broken before the system in six of them: a parser that silently destroyed 76 of 99 articles, a test suite that stayed green over it, a grounding rule that flagged correct data as wrong, and a document converter that severed paragraphs from the negations governing them — so that a perfect retriever would have returned text meaning the opposite of the law.
That last one turned out to be the same bug at three levels of the same pipeline. I fixed it once, two weeks ago, and never went looking for the other two.
Repository · Build sessions · Why evaluation comes first
LLM and agent systems
- ai-common — shared infrastructure: one interface across LLM providers, reusable graph components. The library the rest are built on.
- RAGNAR — business intelligence agent with a database-first architecture. LangGraph, Supabase, FastAPI, LangSmith.
- business-researcher — company and professional research with structured output validation. LangChain, Pydantic, Tavily.
- deep-sage — long-form research reports via a plan-distribute-collect-combine workflow.
- summary-writer — topic summaries through an iterative generate-evaluate loop.
- auto-company — company analysis over SEC EDGAR filings. In development.
Earlier work
- electricity-load-forecasting — electricity demand forecasting, classical and deep learning approaches.
- nlp-fun · cv-fun — exploration repositories from NLP and computer vision work.
If you're building something where being wrong is expensive — or you think I'm measuring this wrong — I'd like to hear from you.
Runs is not works.



