AI Engineer · Remote

I build production AI you can audit.

RAG that cites its exact source or refuses. Agents over the Model Context Protocol. And evals in CI, so a regression fails a build instead of a customer. Everything below is open source — read the code before you take my word.

The measurement decides what ships.
6  open-source flagships a metric merged-pending into DeepEval evals wired into CI everything public & inspectable
0.083→1.000
groundedness-judge F1, base 1.5B → fine-tuned, on 140 held-out cases
100%
agreement with a frontier judge — at $0/call
A–F
any MCP server graded on whether an agent can actually use it
$0
deterministic eval gates run on every commit — no API key
The approach

Every impressive AI demo is one unhandled case from an incident.

The gap between “it worked in the notebook” and “it survives real traffic” is entirely unglamorous: deterministic gates instead of prompt-hope, structured tool outputs you can validate, retrieval that cites or refuses, tracing, and evals in CI. I build that layer — it’s the reason the interesting layer gets to ship.

01

RAG done right

Every answer carries its exact source chunk — or the system refuses. Groundedness, citations and refusal-correctness are graded, not assumed.

02

Agents & MCP

Multi-agent systems over the Model Context Protocol, with structured tool outputs, deterministic gates, and a grader for whether an agent can actually use a server.

03

Evals & shipping

A golden set, automated graders, and a CI gate that fails the build when quality drops. Quality becomes a number on a dashboard, not a feeling.

Selected work

Proof, not slides.

Six open-source flagships and a merged-pending contribution to a real eval framework. Each one is live, inspectable, and backed by measured results.

shipgate demo: a regression drops the score to 0.80 — still above the 0.75 threshold but below the 1.00 baseline, so the CI gate fails the build
01 — EVAL GATE FOR CI

shipgate

Evals decide what ships — literally.

Point it at a config of cases + assertions and it computes a pass rate, then exits non-zero when quality drops below a threshold or regresses against a saved baseline. The deterministic checks run at zero API cost, so the gate fires on every commit.

0.80 < 1.00
regression the baseline catches
$0
deterministic checks, no key
MIT
~200 lines, dogfoods its own CI
groundcheck: base 1.5B F1 0.083 vs fine-tuned 1.000 on 140 held-out cases, 100% agreement with a frontier judge at $0/call
02 — GROUNDEDNESS JUDGE

groundcheck

A judge you run in CI, not an API bill.

A 1.5B open model, fine-tuned with QLoRA into a groundedness judge that runs off-box. The rule it shipped under: the fine-tune only ships if its own eval suite beats the base model. The gate, not vibes, made the call. (Corpus is synthetic — proves the pipeline end-to-end.)

0.083 → 1.000
F1, base → tuned (n=140)
100%
agreement w/ frontier judge
$0.00
vs $0.026 / 1k calls
mcp-vitals graded four official reference MCP servers: memory A, everything A, filesystem C, sequential-thinking F, with a tool-naming finding on filesystem
03 — MCP AGENT-USABILITY

mcp-vitals

Safe is table stakes. Usable is the bar.

Grades any MCP server A–F on whether an agent can actually use it — static, behavioral, and agent-usability layers. On the official filesystem server the most useful finding wasn’t a vulnerability; it was a tool name: an agent reached for read_file, which doesn’t exist.

A · A · C · F
4 reference servers graded
L1·L2·L3
static / behavioral / usability
ORIGINAL BENCHMARK
04 — ABSTENTIONBENCH

abstentionbench

A meta-eval benchmark for the answer-or-abstain decision: 270 cases (real SQuAD 2.0 traps + an adversarially-verified hard tier) that measure whether eval tools can catch over-refusal — the failure faithfulness metrics structurally can't see. Honest leaderboard: only measured numbers.

05 — RAG OVER MCP

agentic-rag-mcp

A multi-agent RAG server exposed over MCP: plan → retrieve → synthesize → self-critique. Every answer cites its exact source chunk or the agent refuses; groundedness, citation and refusal evals run in CI.

06 — AGENTIC VIDEO

reelforge

An agentic short-form video engine on LangGraph + Claude: a supervisor orchestrates tool-calling sub-agents with deterministic gates — image-first, model-accurate, one topic to a finished plan.

OPEN SOURCE CONTRIBUTION
07 — DEEPEVAL

AbstentionMetric

A community metric contributed to DeepEval that scores the answer-vs-abstain decision — the failure faithfulness metrics miss: confident answers with no support, and over-refusals. Mirrors their metrics, with docs and offline tests.

Stack

The tools behind the boring layer.

PythonTypeScriptLangGraph / LangChainClaude & OpenAI APIs Model Context ProtocolpgvectorFastAPINext.js PyTorch / QLoRADockerKubernetesGitHub Actions Phoenix / OTel tracingpromptfoo · DeepEval
Open to work

Let’s build the layer that ships.

Open to remote roles — AI Engineer, LLM Reliability, Evals / Applied AI. If you want someone who’s judged on what they ship, the receipts are all above.