I define the numbers a business trusts, then build the systems that produce them.
Eight years leading analytics across retail and financial services. I build governed semantic foundations and the AI systems that run on top of them. Author of OnlyMetrix and Kanoniv, both open source.
Two open source systems, both shipped and benchmarked.
One defines the metrics a business agrees on. The other decides who and what is allowed to touch them.
OnlyMetrix
Governed metrics for BI tools and LLM analytics agents.
Your agent doesn't write SQL. Your data team does.
60/60Benchmark correct
100%Reliability
0Fabrications
A governed semantic layer and metrics platform. Turns dbt models and warehouse data into versioned, tested metric definitions that BI tools and LLM agents consume consistently. Native Lightdash integration, Python SDK, CLI, reliability layer, and dbt manifest sync.
A declarative engine for matching, merging, and mastering entity data across warehouses. Deterministic and probabilistic, benchmarked head-to-head against Splink on the same dataset. The platform also ships agent trust primitives: cryptographic identity, scoped delegation, and tamper-proof audit logs.
I judge what I build on whether people keep using it.
I help organisations make better decisions by establishing trusted business metrics and the governed foundations underneath them. Eight years across retail and financial services, mostly spent turning ambiguous commercial questions into definitions a business will actually stand behind.
The work now sits where analytics engineering meets AI. I build the semantic layer, then the agents and automations that consume it, connected to the warehouses and context they need so they act on trusted data instead of guessing. AI output passes a human quality gate, and governance stays proportionate to the risk.
Shipping is not the finish line. Prototypes become dependable systems with tests, documentation, and measurement, or they get retired. Adoption is the only score that counts.
04 · Engagements
What you can bring me in to fix.
I take on a small number of engagements alongside my main role. Scoped, fixed in length, and handed over with documentation.
Metric definition and governance
Three dashboards give three numbers for margin, and nobody can say which one is right.
I run the definition work end to end: what each metric means, who owns it, how it is tested, and where it is served from. You get definitions Finance, Trading, and Marketing have all signed off on.
Typical engagement2 to 4 weeks
Semantic layer build
The dbt models are solid, but every tool and every team rebuilds the logic on top of them.
I build the governed semantic layer: versioned, tested metric definitions that BI tools and agents read from the same place. Lightdash, dbt manifest sync, CI, and the contracts that keep it honest.
Typical engagement4 to 8 weeks
Agent data access
Your agents write their own SQL, and sometimes they invent the numbers.
I wire agents to query governed metrics instead of generating queries, with the harness, scoping, and audit trail that makes the output defensible. Benchmarked before and after, so the improvement is measured rather than asserted.
Typical engagement3 to 6 weeks
Entity resolution
The same customer exists four times across four systems, and every downstream number inherits the problem.
Deterministic and probabilistic matching, in dbt or in Rust depending on scale. Blocking strategy, thresholds tuned against labelled data, and a benchmark you can rerun yourself.
You leave the call with a scope either way: what gets built, how long it takes, and whether I am the right fit.
05 · Contact
Two ways to work with me.
Hiring for a lead analytics or AI engineering role?
You get someone who has built a data function from nothing, led a 100TB replatform, and ships open source infrastructure other people run in production. I am looking for work on governed foundations, semantic layers, and the agent systems built on top. UK based, remote or hybrid across Europe.
Metric definitions nobody agrees on, a semantic layer that does not exist yet, agents inventing numbers, or the same customer sitting in four systems four times. Four scoped engagements, two to eight weeks each.