Governed data systems
The LLM proposes. The pipeline disposes.
I build data platforms where every model output passes a deterministic gate before it touches a number anyone acts on — product matches, parser repairs, written summaries alike.
Standards-first: data contracts that tests enforce, lineage that is emitted on every run, provenance from any user-facing figure back to the raw bytes it came from.
What a gate looks like
Models are allowed to be wrong. The pipeline is not. So a model never writes to the trusted layer; it proposes, and a deterministic check decides. Here is one gate from a system I run every week — the one that repairs a parser after an upstream site changes its payload.
The same shape governs entity matching (verdicts cached once, read forever, humans review the low-confidence tail) and narration (any number not in the precomputed fact pack is a hard reject).
Work in the open
Four public projects, four different domains, one habit: every number a person sees traces back to something that can be checked.
RxGuard pharmacy · evidence-gated AI
A synthetic pharmacy exception workbench that surfaces fills likely to lose money, explains why, and preserves the evidence behind every dollar. The margin engine is deterministic; an optional LLM may narrate only the computed fact pack, and its answer is rejected if it invents an amount or cites evidence that does not exist.
Built without proprietary NCPDP message formats. The prototype uses a documented internal event model, validates FHIR R4B ExplanationOfBenefit output, references the CARIN pharmacy profile without claiming conformance, and keeps NADAC explicitly labeled as a public benchmark—not an invoice cost.
Scenario : retroactive-loss Initial margin : +$15.90 Post-settlement adj. : -$21.75 Actual margin : -$5.85 [PASS] each computed amount has an evidence reference [PASS] unsupported dollar claims are rejected [PASS] FHIR R4B resource validates [PASS] NADAC remains a labeled benchmark RESULT: 19 TESTS PASSED
grocery_optimizer data pipeline · LLM gates
A weekly grocery-price pipeline for the DC metro that picks the one store that wins a household's whole list. Bronze/silver/gold on DuckDB; five chains with five different acquisition patterns; LLMs at three gated judgment points; a phone-first verdict app. Runs on a $300 mini PC with no Spark, no orchestrator, no vector store.


bitcoin-fifo-taint-tracer provenance · finance
A deterministic, offline Bitcoin taint-tracing engine that reproduces the 2021 Colonial Pipeline ransom flow from the FBI seizure affidavit — and independently lands on the address the FBI seized. Taint is tracked as positional satoshi intervals, not a scalar, so change, dust, and fees fall out of arithmetic instead of heuristics. Value is conserved to the satoshi: what escaped is flagged, never dropped.
Byte-identical output given the same inputs, a validation harness that fails the build if the court-documented result isn't reproduced, and no cloud dependency — pure Python standard library.
Subject Address : bc1qq2euq8pw950klpjcawuy4uj39ym43hs6cfsegq Seized (tainted): 63.70000000 BTC Escaped taint : 11.30000000 BTC (tracked) [PASS] Subject Address matches seized address [PASS] Seized amount at Subject Address [PASS] Hop 3 developer cut flagged tainted-but-escaped [PASS] 85/15 split reconciles to pre-fork taint [PASS] Taint conservation (nothing dropped) RESULT: ALL CHECKS PASSED
Chat Buddy assistive · free for families
A texting companion that helps kids with communication challenges practice conversation around the things they love. Built as a parent, given away free: a parent setup wizard, a PIN-protected dashboard with full transcripts, and an installable PWA for an iPad. The model talks through a server-side proxy so the key never reaches the browser, and the bot keeps pointing the child back toward real people.
Standards I work in
Open Data Contract Standard (ODCS), OpenLineage, FHIR R4B, DataHub, Great Expectations — and the unglamorous discipline underneath them: raw preservation before parsing, canonical units, provenance keys on every row, and refusals that explain themselves.
A first engagement
Fixed scope, fixed fee, written deliverables. Most relationships start with the first one.
Governance readiness assessment 2–3 WEEKS
For teams putting models into data pipelines and wondering what could go wrong quietly.
- An inventory of every point where model output reaches a decision, and whether a gate stands in front of it
- Data-contract and lineage gaps against ODCS and OpenLineage, with the provenance you can and cannot currently prove
- A prioritized remediation plan your own engineers can execute
Contracts and lineage, implemented 4–8 WEEKS
Data contracts that fail the build when the schema drifts, lineage emitted on every run, and provenance keys from the trusted layer back to raw.
LLM-in-the-pipeline design review 1–2 WEEKS
Where models belong in your pipeline and where they don't: verdict caching for deterministic replay, evaluation gates, human-review queues, and the audit trail that lets you defend a number.
Start with a 20-minute conversation
Tell me what your pipeline does and where a model touches it. I'll tell you honestly whether a first engagement makes sense — and if it does, what it would cost.