Skip to content

Experience

Twenty-eight years, one long apprenticeship.

Post room to production AI, with a decade of enterprise DevOps in the middle. No two of these jobs were the same, which turned out to be the point.

Read the full CV, or download the PDF →

Roles

CTO & Applied AI Engineer

March 2020 – Present

Independent — Bubble.io Plugin Business & Client Work (Remote)

Design, build and operate real-time AI products end to end, alongside an independent software business publishing production plugins used by developers worldwide. Run concurrently with full-time employment at Capita until July 2026, and full-time since.

  • Built and published 47 commercial JavaScript plugins, including advanced 2D/3D Google Maps, video players/recorders, JSON manipulators, mobile QR scanners, rich text editors (TinyMCE), element animations, toast notifications and encryption utilities. The catalogue spans media, mapping, AI and real-time infrastructure; the most-installed has over 1,100 ratings, and several more sit above 150. Generates recurring monthly revenue. View published plugin portfolio
  • Shipped four live production products end to end — Interactive Avatar, Rival Radar, Shard Islands and Chart Chic — owning architecture, data modelling, security and deployment for each. See Selected Projects above.
  • Designed and built a Retrieval-Augmented Generation system end to end: client-side PDF parsing, a custom token-aware chunker with configurable size and overlap, OpenAI embeddings, and cosine-similarity retrieval with threshold filtering and top-K selection across swappable backends (Pinecone vector database and standard database embedding storage), with namespace and per-user scoping.
  • Delivered contract front-end work for multiple international clients — app interfaces, custom mapping, advanced video and REST/API integrations — with several engagements arising directly from the published plugin work.

DevOps Software Packager / System Administrator

September 2012 – July 2026

Capita (formerly Clinical Solutions)

Following Capita's acquisition of Clinical Solutions, moved into the development team to own software packaging and continuous build automation — the highest level of technical support for the team's complex .NET applications.

  • Owned the company's Azure DevOps environment and led the migration from on-premise TFS (VSTS at the time), managing users, permissions and pipeline design.
  • Built and maintained CI/CD build and release pipelines controlling continuous integration across product teams, integrating ServiceNow and Aha! via web/service hooks and REST APIs to strengthen automated lifecycle management.
  • Produced software packages (.MSI/.EXE) with InstallShield/InstallScript, MSBuild, VBScript and PowerShell, based on requirements and with in-depth knowledge of MSI technologies.
  • Supported virtual servers (VMware, Hyper-V, Azure) and Docker/Azure deployment methods, troubleshooting across Windows, IIS and SQL environments.
  • Created and modified build definitions (Visual Studio, XAML, Windows Workflow, MSBuild) and controlled deployments through Microsoft Release Management integrated with TFS.

2nd-Line Support Analyst → 3rd-Line Configuration Consultant

December 2002 – September 2012

Clinical Solutions

Supported 3,000+ clients running the CS Medical call-logging software across NHS walk-in centres, NHS Direct, NHS 24 (Scotland), NHS Direct Wales and international sites in Australia, Spain, Portugal and Norway. Promoted from 2nd-line into a 3rd-line configuration role.

  • Provided high-level technical support for a bespoke n-tier .NET application backed by a clustered 100GB SQL Server, resolving incidents within SLA across desktop, hardware, Active Directory, Citrix Presentation Server and Microsoft Exchange.
  • Promoted to 3rd-line configuration consultant: client-specific configuration, installations, QA testing and troubleshooting, using T-SQL to analyse and resolve the majority of database issues.
  • Wrote and worked with reporting stored procedures feeding Crystal Reports and XSLT reports surfaced through the application, and supported IIS web applications passing XML to third parties via Microsoft Message Queuing.
  • Liaised with 3rd-line teams and third parties (BT, Fujitsu, ATOS, Adastra) on escalated incidents, and used VMware servers for deployment assurance and demo systems for potential clients.

Service Support Analyst

March 2001 – December 2002

Surrey County Council — Trading Standards

  • Provided 1st-line helpdesk support for 80+ users across PCs and related equipment, handling systems administration, security (passwords/permissions on Windows and a bespoke in-house application) and anti-virus across PCs and servers.
  • Performed network troubleshooting and regular backups, configured applications for new implementations, and ran reports extracting data from the 'FLARE' system for business needs, including support for the department's forensics lab.

Client work

Contract engagements, most of which came directly from the published plugin work rather than from pitching.

Built an early prototype of a video editing tool on Bubble. The company has since moved off Bubble and rebuilt independently.

Krokit

Financial API integrations and UI work on their Bubble application.

Remaining engagements are custom plugin integrations and ongoing support for the published catalogue.

Earlier

Barman — The Cage Wine Bar

August 2000 – March 2001

Served customers, managed the bar independently, and developed strong people and service skills in a fast-paced environment.

Computer Room Operator — Watson Wyatt

March 1998 – August 2000

Ran and verified backups across UNIX, OS/2 and mainframe systems (Legato), ensured file restores met SLAs, and set up conference/AV equipment.

Postal Clerk — Lombard North Central

November 1995 – March 1998

Maintained franking machines and post-room equipment; sorted, packaged and handled collection and delivery of post.

Skills

AI & LLM Systems
Production LLM pipelines, prompting & structured outputs, multi-provider inference & fallbacks (OpenAI, Gemini, Groq, Claude), tool/function calling, RAG (embeddings, token-aware chunking, cosine retrieval, thresholding, grounding), streaming, cancellation, latency optimisation, key security (libsodium).
Speech & Real-Time
Speech-to-text & text-to-speech (Deepgram, Cartesia, Inworld), voice cloning, VAD, transcription quality & failure handling, WebRTC/WebSocket streaming, real-time facial tracking (MediaPipe SDK), authoritative server simulation with client-side prediction and reconciliation (Colyseus).
Engineering
JavaScript (ES6+), Node.js, TypeScript, REST APIs, WebSocket, JSON, OAuth, HTML5/CSS3, WebGL via React Three Fiber.
Full-Stack & SaaS
Next.js (App Router)/React, Supabase (Postgres, Auth, Row-Level Security), Stripe (subscription billing, webhooks), Vercel (deployment, Cron, serverless functions), server actions/API routes, third-party API integration.
Enterprise & DevOps
Azure DevOps (TFS/VSTS), CI/CD pipelines, InstallShield/InstallScript, MSBuild, PowerShell, SQL/T-SQL, IIS, Docker, and VMware/Hyper-V (minimal experience).
AI-Native Workflow
Directing AI coding agents (Claude Code, GitHub, Vercel, Supabase) as the primary build tool on production systems: spec-first feature planning, database schema & Row-Level Security design, security-conscious review (input validation, signed tokens, SSRF-safe webhook handling), and verifying every change against live data before shipping. Expert at LLM-assisted debugging and rapid technical prototyping.

Education

Self-taught engineer. Began writing production code inside Capita's development team — JavaScript and PowerShell automation for build, deployment and systems tasks — then built a full software and applied-AI skill set independently, shipping 47 commercial JavaScript plugins used by developers worldwide and four live production products. Formal qualifications are GCSE-level; everything since has been self-directed, and I keep it current as the technology moves.