Hi there👋 — I am Caio Theodoro, a Senior AI Engineer.
I build production ML systems and the distributed infrastructure to scale them. 7 years across AI, engineering, and systems design — from model to product, at scale.
Currently
Senior Forward Deployed/AI Engineer at TrueFoundry — Full-time, since Sep 2026, New York, Remote. Enterprise AI gateway, MCP, and agent control plane, in customer environments.
Selected work
- ReconForge — Laptop-trained 1.7B LoRA for financial reconciliation exceptions — 0.913 severity-weighted recall against a frontier model's 0.872, 1.000 recall on high-severity cases, zero API cost.
- Suture — 8B VLM that diffs an underwriting binder against the issued policy: 0.959 recall across 13 discrepancy classes where zero-shot GPT-5.6 vision scores 0.373.
- LossBench — Scores money-touching agents on expected operational loss instead of accuracy — severity-weighted, calibrated, replayable, on a hash-chained decision ledger.
Recent writing
- I Pinned a Template Into DiffusionGemma to Read Invoices. One Layout Said Yes. Four Said No. — I pinned a fixed answer template into DiffusionGemma and pre-registered that it would make invoice extraction more consistent. On the first layout it did, +0.130. Across four municipal layouts it did not, −0.018, and it cost 2.5 to 9 times the latency. The autoregressive sibling beat it by 11 points, and a cheap hosted model beat both.
- I Asked Optical Flow for a Hand's Speed. Past a Knee It Reports the Wall. — cyclegraph reads a dataset vendor's manipulation metric as an ergonomic duty cycle, which needs hand speed to go with it. Dense optical flow inside a hand box stops reporting the hand above a displacement knee and reports the background instead, at the ratio of their depths. The ego-motion correction then subtracts exactly that, so the error cancels into a small plausible number rather than a loud one.
- I Put Error Bars on a Dataset Vendor's Quality Claim. The Judge Only Errs One Way. — Build AI sells egocentric factory video with a quality number produced by a single VLM pass and no interval. I measured it against human gold: every judge error inflates the statistic, one of the two published margins does not survive correction, and the interval is still too wide to settle it.
For agents and crawlers
Every page here has a markdown twin: request it with
Accept: text/markdown, or append .md to any path.
/llms.txt says what this site is for and when to
use it; /contact is the way to reach a human.