Work
First-person engineering work. Client names are withheld: some of this was delivered as an employee, and none of it is presented as a client reference.
Case 01 · LLM systems
A production agent with the assurance layer built in
Tagged
baselines, diffed per run
Vector retrieval over an embedded corpus, structured output through forced tool-use rather than parsing free text, and a twenty-case evaluation harness with tagged baselines and a regression-diff tool. Every call persists its own cost, and the provider chain fails over rather than failing.
- Structured output enforced by tool schema, never by parsing model prose
- Tagged evaluation baselines with a diff tool that surfaces regressions between runs
- Per-call cost accounting persisted alongside each decision
- Multi-provider failover on upstream overload
Case 02 · Governance controls
Audit logging, RBAC and tenant isolation, in one release
+5,015
lines, one release
A single release adding a typed permission-scope vocabulary, role guards at both page and action level, an append-only audit log enforced by database trigger rather than by convention, and row-level-security tenant isolation in Postgres. Roughly five thousand lines across eighteen files.
- Append-only audit log enforced at the database, not in application code
- Row-level-security tenant isolation with a validated tenant wrapper
- Typed scope vocabulary with tests, not free-form permission strings
- Admin review surface and CSV export for the audit trail
Case 03 · Data platform
An entire production ETL, migrated and re-platformed
246
pipelines migrated
Sole-authored migration of a production pipeline estate off legacy tooling: 246 pipelines and 67 workflows across 453 commits. Then re-platformed onto 43 parallel containerised tasks, taking the main run from roughly three hours down to about one hour forty, and the player-data pipeline from nine hours to three, across 44 tenant schemas.
- 246 pipelines and 67 workflows migrated, sole-authored
- 43 parallel containerised tasks on immutable pinned images
- Two pipelines re-platformed: main 3h to 1h40m, player data 9h to 3h
- Roughly 3B rows across 44 tenant schemas, player data included
- Staged release discipline with health gates and retained rollback points
Case 04 · AI governance in code
Transparency in the product, guardrails on the agents
Art. 50
in shipped code
EU AI Act Article 50 transparency reasoning written into a customer-facing assistant at the point of interaction. Alongside it, controls constraining the development agents themselves: credential reads blocked at the tool level, least-privilege tool allow-lists, and backups taken outside model control that abort the run if they fail.
- Article 50 disclosure reasoning at the point of interaction
- Pre-execution hook denying agent access to environment and secret files
- Least-privilege tool allow-lists with pinned model versions and turn caps
- Backups taken outside model control, aborting on failure
Engagements start with a scoping call. You work with the person who does the work.