AI, data and automation enablement across a global agency
A PE-backed global media and marketing agency
1AYM contracts into a PE-backed global media and marketing agency, working alongside its finance, systems, data warehouse and internal AI tooling teams. The AI programme is the agency's own — run by their leadership, with skills authored across the business. My contribution is the engineering underneath it: finance systems and data warehouse enablement, identity provisioning, verifier-gated automation for finance-critical tasks, and platform optimisation where I found it — including replacing a per-user API call pattern with a single ten-minute sync, forecast to save £2–4 million a year on token consumption, reviewed and accepted by a member of the client's finance team. The internal skill platform I contribute to now carries around 600 production skills across business-unit plugins.
- Skills on the platform I contribute to
- ~600Skills on the platform I contribute to
- Finance systems integrated
- 4Finance systems integrated
- Forecast annual saving, finance-reviewed
- £2–4MForecast annual saving, finance-reviewed
- Engagement status
- OngoingEngagement status
Built with their teams, not around them
Worth stating plainly, because case studies routinely blur it: the AI programme at this agency is theirs. Their leadership set the direction, their teams author the skills, and adoption across the business is their achievement. 1AYM is contracted into it, working alongside their finance, systems, data warehouse and AI tooling teams on the engineering underneath.
That is the point rather than a caveat. A contractor who builds in isolation leaves behind a system only they understand, and the client discovers the dependency the first time something breaks after the invoice is settled. Building alongside their people means upskilling them as the work goes: the finance director who shaped the semantic layer with me can defend and extend its definitions himself, and the team maintaining the provisioning system understands why it resolves identity the way it does rather than treating it as a box that must not be touched.
The measure of this kind of engagement is not what runs while you are there. It is what the client can still maintain, change and build on once you have gone.
How the scope grew
The engagement started as integration work. It expanded because the problems worth solving kept turning out to sit between teams rather than inside one — a finance reconciliation issue that was really a data contract issue, an identity request that was really a provisioning architecture issue.
The value of a forward-deployed contractor is being able to follow a problem across those boundaries instead of handing it off at each one. Over time the role became a bridge between finance, systems, the data warehouse, and the internal AI tooling teams.
What the work covered
- Finance systems enablement
- Data warehouse and finance systems work across Xero, NetSuite, Zoho and QuickBooks — financial detail, mapping, reconciliation, management-accounts and trial-balance checks, and year-end rollover workflows.
- Identity and provisioning
- Integration pipelines with deterministic identity resolution, dry-run modes, diff-based writes, auditability and safe rollback patterns.
- Internal AI skill platform
- Engineering contributions to an internal Claude Code skill platform that now carries around 600 production skills. The skills themselves are authored across the business by the people who do the work; my part is the plumbing and reliability beneath them.
- Verifier-gated automation
- Managed-agent workflows for finance-critical and high-stakes operational tasks, built so deterministic checks decide what proceeds.
- Grounded analytics
- AI-enabled analytics workflows, including MCP-style patterns connecting the data warehouse and BI layer so AI answers resolve against canonical business metrics.
- Platform reliability
- Production support across Cloud Run and BigQuery/Airflow, deployment fixes, and the ongoing reliability work that keeps daily runs predictable.
Optimisation nobody asked for
The skills library lives in Notion. As written, every user's client fetched from the Notion API directly — which works perfectly at ten users and becomes a problem at a thousand, because the request volume scales with people multiplied by how often they work, against an API with rate limits and an availability budget that was never sized for it.
I replaced that with a single synchronisation running every ten minutes, so the platform reads from a local copy rather than every client hitting the source. Request volume stopped scaling with headcount, and the dependency on Notion being fast and available at the exact moment someone works went away with it.
The forecast saving from that one change is £2–4 million over a year, alongside a system that is materially more reliable. A number that size deserves its provenance: I modelled it on token consumption, and it was reviewed and accepted by a member of the client's finance team rather than asserted by the person who made the change.
The arithmetic is not complicated. Under the old pattern, consumption scaled with users multiplied by working sessions multiplied by fetches per session — and at roughly a thousand people that product grows fast, because every one of those fetches pulled content into a context window that someone was paying for. Under the new pattern the cost is fixed: one sync every ten minutes, whatever the headcount is doing.
This was not in a brief. It is the kind of thing you only see from inside the system, and the kind of thing worth raising rather than waiting for it to become an incident.
Why finance work sets the standard
Finance-critical automation is the most demanding environment to build in, because there is no acceptable error rate that gets waved through. A reconciliation that is nearly right is a reconciliation that is wrong, and it will be found by an auditor rather than a user.
Everything built here inherits that constraint: idempotent operations, dry-run modes, diff-based writes, audit trails, and rollback paths as defaults rather than hardening added later.
Xero · NetSuite · Zoho · QuickBooks · BigQuery · Airflow · Cloud Run · Notion · SCIM · Claude Code
Related
Written at a public-safe level: client names, internal project names and proprietary business logic are held back by agreement.
Last reviewed