Production AI systems, built end-to-end.

I design and ship multi-agent platforms, RAG pipelines, and 0-to-1 products, in Python and TypeScript on AWS. Concept, architecture, and the customers who pay for it.

of calls QA-scored, replacing 2-5% manual sampling
100%

of calls QA-scored, replacing 2-5% manual sampling

QA scoring accuracy, measured on a frozen golden set
78.7→95.4%

QA scoring accuracy, measured on a frozen golden set

output tokens per call, accuracy unchanged
−46.1%

output tokens per call, accuracy unchanged

what_i_build

What I build

Systems running in production, with the numbers behind them.

Production AI agents

Several production agents and multi-agent workflows running across the business. A central agent plans each job and hands the pieces to specialists in coding, security, infrastructure, research, content and sales. Governance lives in the infrastructure, enforced through per-agent permission hooks: every agent gets only the access it needs, and none can review or approve its own work. Each change clears an independent code review and a security audit before it merges. A human signs off the final merge. Shared MCP services, persistent memory and multi-model routing keep the whole estate cheap to run.

15+ specialist agents · least-privilege hooks · independent review + security gates · human merge authority

LLM evals

The testing that decides whether an AI feature is good enough to ship. I score each model against a fixed set of production calls and human-checked answers, only release when accuracy clears a target set up front, and re-check every change on live production traffic. This took call-scoring accuracy from 78.7% to 95.4%.

78.7 → 95.4% scoring accuracy · 98.3% grader consistency · re-checked on live traffic

Prompt engineering

Getting reliable, consistent answers out of an AI comes down to the prompt. I treat prompt changes like code, testing them before they ship and measuring what they do. One redesign lifted category accuracy from 88% to 96%. Another cut the tokens each call uses by 46% with accuracy holding steady, which lowers the running cost too.

88 → 96% category accuracy · −46% tokens per call · tested across 18 live tenants before rollout

Hybrid RAG, served over MCP

The knowledge system every agent shares. It splits knowledge into two kinds, how things work and what's true right now, so a question always reaches the right place. Rather than dumping whole documents into the AI, it pulls the few relevant paragraphs out of 700+ and hands those over. It searches by keyword and by meaning, then re-ranks for the best matches. Every agent reaches it through one shared tool built on MCP, and feeding agents only what they need is a big reason they run cheaply.

I built a meeting intelligence tool on a live RAG pipeline to show this first hand: 2 days, end to end, all of it public.

Take a look

BM25 + vector + LLM re-rank · 700+ docs · one MCP tool, every agent

Systems integration

Portals that bring the systems a business already runs, the CRM, support desk, phone system and more, into one place. I wire six live systems together behind a single secure interface, with a full support-ticketing system built in. The portal stores almost none of its own data, everything is read live from the source. It also stays up under pressure. If one connected system goes down, only its tile drops out and the rest of the page keeps working.

6 live systems · ~60 procedures · full ticketing lifecycle

production_systems

Production systems

Core products I build and run at Conversant, from architecture to live customers.

Insights360

Live

AI conversation-intelligence SaaS at Conversant Technology, concept to paying customers.

Scheduled per-provider ingestion feeds an event-driven pipeline: Python Lambdas poll every 15 minutes, discovering tenants dynamically from Secrets Manager. Queue depth then spins an AWS Batch GPU fleet (NVIDIA T4, scaling 0→16) running our own containerised Whisper large-v3-turbo with speaker diarization, self-hosted rather than a managed ASR API. Each transcript is analysed by Claude on Bedrock against config-driven per-tenant rubrics: rules, weights, prompts and language, changed without touching code. DLQ auto-redrive absorbs transient failures, KMS encrypts the artefacts, and S3 is the system of record. Onboarding's pipeline test is a probe that returns in seconds. Live with paying customers across multiple markets.

  • Python
  • AWS Batch · EC2 GPU
  • Bedrock (Claude)
  • Lambda · EventBridge · SQS
  • S3 · KMS
  • Whisper · faster-whisper
  • Docker
  • Next.js
  • TypeScript
  • Neon Postgres
18
live tenant configs, snapshot-tested
0→16
GPU autoscale, self-hosted Whisper
+0.33 to +5.64
QA-score points on live 30-day averages after rollout

C360

Live

Conversant's customer and partner portal: a thin orchestration layer over six live systems.

A telecoms portal with a full support-desk ticketing system inside it: 15+ desk endpoints covering merged reply and comment threads, agent assignment, contact attribution and dual-mode replies. On top sits a three-tier partner account model (primary / additional / linked read-only), so regulated broker-network tenants see partner tickets they cannot act on. Around it, an orchestration architecture that stores almost none of its own data: ~60 tRPC procedures across 8 domain routers reading live from six external systems, spanning CRM, support desk, telephony, number management, call recording and identity. I also authored the product strategy and roadmap now driving its evolution into a self-service management platform.

  • Next.js
  • tRPC
  • TypeScript
  • Prisma
  • Neon Postgres
  • Clerk
  • Zoho
  • Vercel

Emerald

In progress

Co-branded commerce portal built at Conversant for an MSP partnership: catalogue, estate, orders, billing.

A custom-built portal where the order workflow is a full state machine: submit → accept → awaiting-PO → provision, with the customer's PO number gating provisioning and every transition writing an audit event in-transaction. Order forms capture complete IPSec tunnel configuration up front (IKE version, phase-1/2 algorithms, DH groups, lifetimes) as a supplier request packet, snapshotted onto the live service on provision. Estate and inventory CRUD with role-gated writes, a 13-tier catalogue with idempotent seeding and CSV bulk import, Xero invoicing built behind a feature flag ready to enable. Auditability is enforced at lint time: any write action without an audit event fails the build.

  • Next.js App Router
  • TypeScript
  • Drizzle ORM
  • Neon Postgres
  • Clerk
  • Xero
  • Vercel

next.build → public langgraph + mcp rebuild

Next: the platform, in public

The production platform above, rebuilt in the open on a named framework: LangGraph orchestration with an MCP-connected assistant on top.

about

About

Across every role it's the same: I discover, build, and ship, then stay until it's actually adopted.

At Conversant I led the 0-to-1 launch of Insights360, an AI conversation-intelligence SaaS. I took it from concept and LLM architecture on AWS through pricing and onboarding to paying customers across multiple markets. I work alongside a lead AI and operations manager and a data architect; I own the product direction and the AI integrations, workflows and automations. I also own the platform side: C360, a customer and partner portal orchestrating six live external systems, and Emerald, a co-branded commerce portal for an MSP partnership. Alongside them I designed and operate a production autonomous multi-agent platform with Claude Code as the builder agent, and a hybrid RAG knowledge layer exposed over MCP.

I make model choices on evidence: an early structured 69-call evaluation caught a competing model fabricating scores on near-empty calls. The model that refused to fabricate went to production, and that discipline grew into the five-wave evaluation programme behind the numbers above.

Before all of it, four years of enterprise solutions consulting. That discovery-to-proposal cycle still anchors every role.

Bristol, UK · British national, eligible for Irish passport.

law

LLB (Bachelor of Laws), 2:1, Open University, completed while working full-time

microsoft

Microsoft certified: Azure Fundamentals · Azure AI Fundamentals · Dynamics 365 (CRM)

anthropic

Anthropic certified: Claude platform, Claude Code, and AI fluency

Let's talk

Happy to have a chat and see if I can help, or answer any questions you have. CV available on request.