Experience
Where I've worked.
I started in a post room, moved into IT support and NHS software, spent a long stretch in enterprise DevOps, and now build AI products for myself and for clients.
Roles
Independent AI Engineer & Web Developer
Independent, Bubble.io Plugin Business & Client Work (Remote)
Building AI products and websites, alongside a plugin business for the Bubble platform. Ran alongside my full-time job at Capita until July 2026, and full time since.
- Built and published 47 commercial JavaScript plugins for the Bubble platform, released to paying developers who then report the bugs: AI agents with tool calling, RAG over documents backed by Pinecone or an ordinary database, real-time voice over WebRTC and LiveKit, and Hugging Face models run either through their inference API or locally in the browser as ONNX models in a worker, across more than 25 model tasks. Also video players, 2D and 3D mapping, native mobile components, rich text editing, service workers and Apple's Liquid Glass effect. The most popular has over 1,100 installs, and they still earn money every month. See what the AI plugins do
- Shipped eight live AI products on my own, including Vantage City OS, Glass Box and Rival Radar. The concept, the architecture, the prompts, the testing and the deployment are mine on every one. I direct the build with Claude Code and can account for every line that ships.
- Multi-agent features where the orchestration is code rather than a model: agents run in parallel against a shared prompt cache, every call has its own deadline inside a fixed overall budget, models fall back server-side when one is unavailable, and runs stream over NDJSON with heartbeats and cancel themselves when the visitor leaves. Nothing is reported as a match unless the quoted evidence is found word for word in the source, checked in code and not left to the model.
- RAG over unstructured documents, built by hand rather than taken from a framework: chunking with adjustable size and overlap, OpenAI embeddings, similarity search with score thresholds and result limits, stored in Pinecone or an ordinary database, and each customer's documents kept separate so one tenant's files can never appear in another's answers. Also embedding existing relational data so ordinary app records can be searched semantically.
- Real-time voice and vision: speech-to-text and text-to-speech through Deepgram, Cartesia, ElevenLabs and OpenAI, voice cloning, 3D avatars lip-synced from ARKit and Oculus visemes with Ready Player Me and Avaturn models, webcam face tracking over WebRTC, and small vision models trained in the browser on the local GPU with TensorFlow.js.
- Front-end contract work for international clients including Montra, Krokit and other start-ups: application interfaces, custom mapping, video, API integrations and interactive web experiences. Most of it came from people who found the plugins.
DevOps Software Packager / System Administrator
Capita (formerly Clinical Solutions)
Moved into the development team after Capita bought Clinical Solutions, to own packaging and build automation.
- Built JavaScript web apps for internal staff to speed up everyday processes, plus watchers that kept an eye on other services the business relied on. The developers were C# specialists, so I'd often help out whenever JavaScript or MVC web app work came up.
- Ran the company's Azure DevOps setup, led the move from on-premise TFS, and built the CI/CD build and release pipelines every product team relied on, linked to ServiceNow and Aha! through REST APIs and webhooks.
- Automated builds, deployments and software packaging with PowerShell, JavaScript, MSBuild and InstallShield.
2nd-Line Support Analyst → 3rd-Line Configuration Consultant
Clinical Solutions
Supported 3,000+ clients using clinical call-logging software, including NHS Direct and NHS 24. Promoted to 3rd-line: client configuration, installs, QA testing and T-SQL database fixes on a bespoke .NET application.
Client work
Contract work for clients, most of which came from people who'd used my plugins rather than from me going looking for it.
Montra
montra.comBuilt 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.
Other work has mainly been custom plugin integrations and support for the published plugins.
Earlier
Service Support Analyst at Surrey County Council, Trading Standards
1st-line helpdesk support for 80+ users: PCs, servers, backups, security, network troubleshooting and reporting, including support for the department's forensics lab.
Barman at The Cage Wine Bar
Served customers, managed the bar independently, and developed strong people and service skills in a fast-paced environment.
Computer Room Operator at Watson Wyatt
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 at Lombard North Central
Maintained franking machines and post-room equipment; sorted, packaged and handled collection and delivery of post.
Skills
- AI & LLMs
- Generative AI, large language models (LLMs), prompt engineering, structured outputs, AI agents, multi-agent orchestration and tool calling, MCP (Model Context Protocol), RAG over unstructured documents (embeddings, chunking, vector search with Pinecone), prompt caching, streaming, and reliability (model fallbacks, retries, time limits). Anthropic Claude API, OpenAI, Gemini and Groq, Hugging Face models through the inference API or run locally in the browser as ONNX.
- Front End & 3D
- TypeScript, JavaScript (ES6+), React, Next.js (App Router), Three.js and React Three Fiber (WebGL), Tailwind CSS, HTML/CSS, responsive design, UI and interaction design, design systems, no-code and low-code (Bubble).
- Creative & Design
- Design prototyping, creative coding, interactive 3D, Figma, AI image, video and voice tools.
- How I Build
- Vibe coding and AI-assisted development with Claude Code, Cursor and MCP servers, working from a written spec. Agentic coding, rapid prototyping, MVPs, proofs of concept and automated testing.
- Full-Stack & SaaS
- Full-stack web development: Node.js, REST APIs, Supabase (Postgres, Auth, Storage), Stripe (subscriptions, webhooks), Brevo (transactional email over its REST API, deliverability), Vercel (serverless, Cron), OAuth, SEO, AEO and GEO (Google Search Console, structured data/JSON-LD, sitemaps, llms.txt, IndexNow), Git and GitHub.
- Speech & Real-Time
- Speech-to-text and text-to-speech (Deepgram, Cartesia, ElevenLabs, Inworld), voice cloning, WebRTC and WebSocket streaming, LiveKit, real-time face tracking (MediaPipe).
- Cloud & DevOps
- Google Cloud Platform (GCP) and the Cloud Console: projects, OAuth clients and consent screens, API keys and enabling services. Azure DevOps, CI/CD pipelines, PowerShell, MSBuild, InstallShield, SQL/T-SQL, IIS and Docker.
Education
Self-taught. My formal qualifications are GCSE-level. I started writing production code in Capita's development team, and everything since, from 47 published plugins to eight live products, I've learned by building real things. I keep it up to date.