CEChibuzor Ezeamaku
Selected work

Systems that act. Gates that hold.

Most of my work lives in production: a platform that about 75 customer organizations depend on, and the agent tooling I built around it. The thread through all of it is the gate between an autonomous system and an irreversible action.

Platform and client work

Four and a half years inside a production platform.

A construction-technology SaaS used by municipalities and engineering consultancies across Canada, the US and the UK. I own core parts of it, from the document engine to the mobile client. The employer, its customers and its internals stay unnamed here. The numbers are real.

~75customer organizations served directly
673merged pull requests
95%+less custom code per client deliverable
31production tickets worked through my agent harness in 10 weeks

Internal agent harness AI engineering · 2026

A multi-runtime harness that let coding agents do production work under human gates: 23 skill playbooks, two MCP servers I wrote with 88 read-only tools, and policy-as-code compiled into every runtime.

88read-only agent tools

Template document engine Platform · 2023 – 2026

Replaced per-client, hand-coded report generators with one template-driven engine over Word, Excel and PDF, then moved 150 existing generators onto it without a big-bang cutover.

150generators migrated

Field sync app Commissioned · 2026

A native Android app for a US civil-engineering consultancy, replacing a Windows-only script with two-way sync between field devices and a cloud document store.

12 wksto deliver · 20+ field users

Mobile map rendererMobile · 2026

Replaced a map that crashed on iOS with a tiled renderer that bakes geometry into image tiles. 150,000 vertices now render smoothly on iOS and Android, and load time fell from 16.5 s to 10 s.

948 MB → 1 MBgraphics memory

Production performanceDiagnosis · 2026

A client report taken from over 16 minutes to 32 seconds with zero differences across 21,241 cells. An 8x websocket reconnect storm eliminated with a single timing contract.

32 sfrom 16+ minutes

Cross-platform portPlatform · 2026

Moved a Windows-only platform onto Linux and macOS, including a full graphics-stack migration and an image pipeline that handles DPI, EXIF, orientation and modern formats.

3 daysgraphics migration

Mobile test suiteQuality · 2026

Built a five-layer test suite from nothing: unit tests over shipped code, contract tests across two repositories, and end-to-end journeys on physical iOS and Android devices.

172device journey tests

Client names, product names and internal details are left out on purpose.

The through-line

Internal agent harnessOne policy file compiled into the permission gates of two agent runtimes, with a drift check against the live tools.Commits · pushes · releases
ChiOSAn agent works at the autonomy level I set, but a list fixed in code always waits for me, at every level.Money · deletes · sends
chi-harnessReads flow. Anything leaving the system pauses and shows the exact tool call, never a summary.Email · invoices · payments
AI scribeEvery drafted field is cited. Nothing reaches the record until a person confirms and signs.The record
SearchlightRead-only by default. Deleting a file needs a confirm token minted in the interface.A deleted file
Read the idea in full

Side projects

Built to learn, to production standard.

Evenings and weekends, mostly for skill advancement: new languages, edge platforms, authentication done properly, and agents as users of software. I build them as if they had to run, because that is where the learning is. Each card says plainly where it runs.

One app, phone and webPublished · runs my life daily

ChiOSThe app I run my life on, every day.

Tasks, money, health, a full calendar, projects and the books, offline-first on Android and in the browser. Everything runs on Cloudflare Workers, and a 200-tool MCP gateway lets an agent use every part of it, but only within limits I set.

Case study
Agent harnessRuns locally · my own tooling

chi-harnessA harness where safety is architecture, not a prompt.

Agent sessions against my own systems, reached only through MCP, under a first-match policy gate. Reads flow. Deletions and anything leaving the system wait for me, shown as the exact tool call. Once a session reads untrusted content, it can no longer send anything out. Every event is logged, and every incident becomes an eval.

Case study
Document AIBuilt · runs on a mock model

AI scribeDrafts records from a conversation. Writes nothing until a person signs.

A records engine with a vocabulary layer, so one codebase fits clinics, contractors or consultancies. The scribe drafts documents from captured conversation and cites every field back to its source. I built it to learn document AI and to design the human sign-off properly. The live model is a config switch I have not flipped.

TypeScriptGCP Cloud RunTerraform
Desktop toolA tool I built and use

SearchlightSpotlight-style search with a local model.

An in-memory filename index that answers in under 10 ms across millions of files, ripgrep for content, and natural-language search through a local Gemma model. No data leaves the machine.

GoWailsOllama
Go libraryBacks a deployed service

chi-go-authAuthentication for Go services.

22,000 lines of Go, written to learn security properly: Argon2id, OAuth 2.0 and OIDC with mandatory PKCE, TOTP, magic links, JWT with JWKS and multi-tenant organizations, with its own audit and pentest documents.

GoPostgresSQLite
Case study