Predictable even when the model is not
Model output gets wrapped in rules, scoring and gates so the system behaves the same way every time. The interesting engineering is almost never the prompt.
About
I build AI systems that can show their work, and the review process that decides whether they ship: checks against real labelled data, rules that need no model to fire, human sign-off where it counts, and a default of stopping rather than guessing. 38 systems since July 2023, 25 of them in production, 2 in the care sector. Based in Oakland, California.
The part I am actually good at is not getting a model to produce something impressive. That is the easy half now. It is building the apparatus around it that can tell you, honestly and repeatedly, whether the impressive thing is also correct — and that stops the line when it is not.
Method
These are not aspirations. Each one has cost me something, which is the only way I know they are real.
Model output gets wrapped in rules, scoring and gates so the system behaves the same way every time. The interesting engineering is almost never the prompt.
Evals run against real labelled data and the pass/fail is visible where the work happens, not buried in a notebook nobody opens twice.
Any uncaught edge halts the pipeline. No silent fallback to probably-fine. It costs throughput and I keep paying it.
Operator review gates are a first-class part of the build, not an apology bolted on after a bad week.
Every demo runs on fictional sample data. Real products operate on separate, isolated data paths. This is enforced by a scanner on every build, not by me remembering.
Selected work
Picked because each one shows a different part of the job, not because they went best. The full set, with running demos, is in the portfolio.
Paying customers study for a licence exam in two languages, and no translated question ships until five checks agree it kept its meaning. The pipeline that enforces that moved ~3,400 items, resumable and cost-capped, so a bad run is cheap to abandon.
Groq · Next.js · Supabase · TypeScript · Stripe · SM-2
Every voter sees exactly why a candidate ranked where they did, and the same address always gets the same answer — audited for that, run after run. For anything touching an election, a ranking nobody can explain is not a feature.
Next.js · TypeScript · determinism audit · 25+ record sources
Non-technical staff publish to four channels from one post, nightly, with no engineer in the loop. It runs as an admin tool in production, which means it fails in front of someone who will tell me.
Groq · Next.js · publish API · nightly cron
No model grades its own homework: three providers propose in parallel, plain rules rank them, and a person approves before anything is written to the database. Runs at zero marginal cost locally, which is the reason it actually gets used.
Ollama · Groq · Codex · deterministic scoring · human-in-loop
Stops a coding agent from leaking secrets, deleting data, or claiming success without proof — and lets the safe actions through. Stdlib-only Python, no dependencies, 53 tests. Off by default and on purpose; it only enforces once you explicitly activate it.
Python · deterministic rules · fail-closed · 53 tests
Stops an inconsistent asset run before it reaches production: one model generates, a second verifies, and the run halts when they disagree past a fixed threshold. A single model on a large run drifts confidently and quietly — nobody notices until the whole set is wrong.
GPT-4o · Gemini vision · consensus gate · spec-driven pipeline
The honest shape of it
I began shipping AI systems in July 2023, on top of a longer career of high-stakes work in regulated industries. The relevant fact is volume under real conditions: 38 systems built, 25 live with real users, and two in care settings — built end to end rather than handed off at the interesting part. I have written the model routing, the checks, the review gate, the billing, and the alerting that wakes me when something fails outright. Drift is the part I still catch by looking rather than by an alarm, and I say that out loud because a monitoring claim you cannot show is worse than a gap you can name.
I have built these controls owner-side. I am ready to apply them across a health system with independent review and cross-functional accountability.
What I am looking for
Next step
The resume has the compressed version and opens without an email wall. The governance page has the machinery and the case where my own gates were wrong. If any of it fits what you are hiring for, the form comes straight to me.