work

No client names here, that’s a rule. Three of those systems, opened up, and the actual artifacts of how I work.

Case 01 Operations OSFrom one breaking spreadsheet to 322 agents in production

War storyThe 14-build spreadsheet was the breaking point. The system that replaced it runs 322 agents.

Problem

A lean delivery team coordinating a growing portfolio through recurring meetings, three separate spreadsheets, and a daily pile of admin. Every status update was manual.

Approach

An agent-based operations platform instead of another tool subscription. Specialised agents watch channels, read meetings, draft updates, and escalate only what needs a human. Phase-lock discipline and approval gates built in from day one, so nothing reaches a client without sign-off.

Outcome

322 agents in production running daily briefs, end-of-day summaries, and weekly forecasts. The recurring meetings and the three spreadsheets are gone. The system runs after the laptop closes, which was the whole brief.

Claude API · Node.js · MongoDB · Slack + Gmail + meeting-intelligence webhooks

Case 02 Delivery enginePhase-locked hub tracking 20+ digital builds end-to-end

War storyThree weeks. That’s how long a phase can live at “almost done” before you accept that “almost” is the actual problem. Now phases lock.

Problem

Twenty-plus concurrent builds tracked in a shared spreadsheet that broke every time someone touched it. Phases lived at “almost done” for weeks because nothing forced a decision.

Approach

A phase-locked delivery hub: Discovery, Architect, Build, Validate, Handover, AMC. Each phase has entry and exit gates, owners, and review windows. A phase cannot be half-closed. Done means done, or it isn’t this phase.

Outcome

Every build visible end-to-end in one place: phase, gate status, blockers, finances, handover stage. The spreadsheet is retired, and “almost done” stopped being an acceptable status.

Node.js · MongoDB · review-gate + change-request workflow · Slack integration

Case 03 AI triage agentMaintenance requests classified, routed, and tagged by SLA

Problem

An inbox of unsorted maintenance emails. Urgent issues buried under routine requests, out-of-scope asks quietly absorbed instead of flagged, and triage eating senior time every single day.

Approach

An AI classifier in front of the inbox. Every incoming request is read, classified by type and urgency, routed to the right owner, and tagged against its SLA. Out-of-scope requests get flagged as opportunities instead of disappearing into goodwill.

Outcome

The manual triage queue is gone. Requests arrive pre-sorted with SLA tags, nothing urgent waits behind routine noise, and scope creep became visible enough to charge for.

Claude API · email webhooks · SLA rules engine · CMS integration

“Good delivery is 80% deciding, 20% doing.”
The deciding, on paper

under the hood

Twelve anonymised snippets of the actual working documents, walking Discovery through AMC. Sensitive content redacted.

01 Discovery

02 Architect

03 Build

04 Validate

05 Handover

06 AMC

the roster