I'm a senior software engineer based in Wiltshire, England. Since 2014 I've
built and run the ecommerce platform and cloud infrastructure at Gompels, a specialist
care and education wholesale supplier, where I lead a small development team and look
after everything from the AWS estate to the pull request queue.
These days much of my time goes on AI engineering: internal microservices that use
LLM APIs to read orders out of emails, score sales leads against public registries,
and document our systems for both people and machines. I also led our adoption of
AI-assisted development, along with the standards that keep it honest.
I started out in 1996 as an apprentice mechatronic engineer, but the web pulled
early: my first paid web work came in 1999, building a PHP and MySQL site for a
local transport industry advertiser, and by 2004 I was Knorr-Bremse's domain and
web administrator. From 2006 to 2013 I also ran eCrayon, my own small web design
business, alongside the day jobs. The web became my full-time trade in 2007, which
means I've written production code against everything from FrontPage-era HTML to
the Anthropic API. Some of that history is below; the rest is on
LinkedIn.
Tools of the trade
Languages. PHP, SQL (MySQL and MSSQL), JavaScript, Node.js, Python.
AI engineering. Anthropic API, Claude Code, vector search with
pgvector.
Compliance. PCI DSS, GDPR.
Selected work
The Gompels platform
A B2B and B2C ecommerce store that I rebuilt from the ground up and have grown
with the business for over a decade, trading around the clock. It runs on PHP 8.4
with a bespoke MVC framework built on Symfony components, MySQL, OpenSearch and
Valkey. The frontend is deliberately vanilla JavaScript: frameworks have to earn
their keep here, and so far none have.
The platform lives on AWS, and in 2025 I moved the whole estate from the Ireland
region to London with around six hours of database downtime. Performance work never
really stops; keeping queries, PHP overhead and hardware sizing in balance is what
keeps both customers and the hosting bill happy.
Order Automator
Plenty of our customers still email their orders in, sometimes inline, sometimes
as an attachment in whatever format their own purchasing system produces. This
service watches the inbox, uses the Anthropic API to extract what's actually being
ordered, then matches customers, delivery addresses, stock and pricing before
placing the order through the ecommerce platform automatically. A human stays in
the loop for the cases that deserve one.
Lead Generator
A consumer on our RabbitMQ message backbone that listens to live order traffic
and scores it against past orders and public registries such as Ofsted, CQC and
GIAS. The result is a steady feed of new or under-served customer groups for the
sales team, generated from data we already had flowing past.
Service Catalogue
A developer resource that documents every internal and external API endpoint we
have, along with our MSSQL stored procedures. It doubles as an MCP server, which
means the same documentation that helps the team also gives our AI tooling an
accurate map of the systems it's working with. Documentation that machines consume
tends to stay honest.
Earlier work
Before Gompels I spent seven years at a specialist publisher, where I built a
CMS that powered more than twenty websites, a web-socket-driven flat plan tool for
laying out publications collaboratively in real time, and an EPoS system: touchscreen
tills speaking HTTPS to a central web application, with an offline mode that queued
transactions until a connection returned, which let the same tills work a 3G
connection at outdoor shows.
Career
Gompels HealthCare, Melksham2014 to presentSenior Web Developer: software engineering, DevOps and team leadership.
Redpin Publishing, Devizes2007 to 2014Web Design Developer: CMS, ecommerce and in-house systems for a specialist publisher.
Knorr-Bremse Rail Systems, Melksham1996 to 2007Apprentice mechatronic engineer through quality assurance to domain and web administrator.