Agents that verify what they output, refuse the action they cannot justify,
and run under tests and CI like any other production code.
April 2026 β Present
Shipped and operated a live US SaaS platform where AI agents call leads by voice, automated SMS and email campaigns follow up, and Stripe bills the account.
Diagnosed production incidents against live PostgreSQL, Stripe, Twilio and voice-agent logs.
Built the verification process the team shipped under: RED test first, a planted defect that must bite a named test, a query plan reviewed for scale, and an adversarial review of the diff before any PR opened.
June 2025 β April 2026
Built the AI pipeline behind MedTalk, a clinical documentation platform deployed in Australian hospitals. A consultation is captured as audio, transcribed by a speech model, then passed through a language model that returns a structured clinical note against a schema rather than free text.
Designed as a human-in-the-loop system: the model drafts, the clinician reviews and signs off, and nothing reaches the clinical record unapproved. Built the backend that runs it in production against the security and patient-data requirements of Australian hospital systems.
π§© RelicAn agent that refuses to guess. Point it at legacy Python and walk away. It writes a characterization suite for each file, then sabotages the original code twelve times and demands the tests notice. A suite that catches nothing is decoration β that file is left alone, and the reason is written down. |
π Multi-Agent ResearchAnswers that cannot be unsourced. Four agents plan, fetch, extract and verify. The verifier must quote the source verbatim, and that quote is checked against the document mechanically β a fabricated quote cannot pass, however confident the model sounds. |
βοΈ Fault Diagnosis AgentAn agent on real industrial data. Isolation Forest anomaly detection over NASA CMAPSS turbofan sensors, with a LangGraph agent that explains why a reading is anomalous through SHAP attribution and estimates remaining useful life. |
π OpenDefectKitComputer vision inspection infrastructure. Industrial defect detection in Python β preprocessing, detection, benchmarking and ONNX export, built as a library rather than a notebook. |
|
the system my own work runs under A coordinating session allocates work to named agents on their own worktrees, a guard blocks destructive commands, and read-only auditors adversarially review every diff. |
π PaceLablive F1 race strategy platform Sole developer. FastAPI and DuckDB on Oracle Cloud, React 19 on Vercel, weekly automated refresh. |
client work Real-time inspection APIs on FastAPI and Docker that cut manual inspection time by around 60%. |
| A test that cannot fail is not a test | Plant the defect, prove a named test bites, then restore |
| Verify mechanically, not rhetorically | If a model claims support, check that claim against the source in code |
| Every number has a receipt | Exit codes, row counts, timestamps β or it does not go in the README |
| Fail loudly, degrade gracefully | A dead dependency announces itself, never returns an empty result that looks like success |
| The map before the grind | See the whole thing end to end, then build it once |