Work
Four projects that show how I work: one I co-founded and still run, and three where I've been a senior engineer inside a much larger team.
BeforeYouFly
Co-founder and lead engineerFormerly Sky Parking Services
A UK airport parking and lounge comparison and booking platform. Customers compare car parks and lounges at UK airports, book in a couple of minutes, and the platform handles payment, confirmation and settlement with each supplier.
I built it from the ground up as co-founder: the data model, the booking and pricing engine, supplier onboarding, payments and payouts, transactional email, and the search-engine architecture that brings customers in. It runs on Laravel 12 with Inertia and Vue 3 on the front end, PostgreSQL underneath, and Laravel Cloud for hosting after a migration from Google Cloud. Payments use Stripe, including Connect for supplier payouts.
It's live, taking bookings, and mid-way through a rebrand from Sky Parking Services to BeforeYouFly.co.uk, which has meant a domain migration, a new brand and a typography refresh across the whole product.
I know what happens after launch: hosting bills, payment disputes, supplier onboarding, SEO that has to keep earning its keep. That experience changes how I build things for clients.
Symphony Group
Contract senior engineerOrder management modernisation
Symphony Group is the UK's largest privately owned manufacturer of fitted kitchens, bedrooms and bathrooms, with a turnover of over £345 million. Its order management system, the software that takes every order from a retailer or housebuilder through to the factory floor, has been built up over thirty years, and the business depends on it every day.
Senior contract engineering on the team replacing it with a modern system that does everything the old one does. The hard part of a rebuild like this isn't writing new code; it's finding out what the old code actually does, because thirty years of changes are never fully documented. The approach uses AI to analyse the legacy applications and their behaviour, then pipelines that turn that analysis into the new system with the same functionality, so nothing the business relies on gets lost in the move.
If you have a system nobody wants to touch but the business can't live without, this is the kind of work I do: understand it properly, then replace it without breaking what works.
LexisNexis
Contract senior full-stack engineerIdentity verification and fraud prevention
Contract engineering on LexisNexis's identity verification and fraud-prevention software, the kind of system that decides whether a person is who they say they are before a bank or insurer does business with them.
Work at that scale means strict code review, thorough testing, careful handling of personal data and a release process built for regulated customers. It's where I learned that boring, well-documented engineering is what keeps a product trustworthy, and I've carried that standard into everything since.
If your software handles money, identity or anything regulated, I've worked where getting it wrong isn't an option.
Kaboodle
Contract engineerEvent ticketing
Contract engineering on Kaboodle's ticketing platform, used by venues and event organisers to sell tickets, packages and accommodation for events.
Ticketing is unforgiving: an on-sale puts thousands of people on the same pages at the same second, every one of them is trying to pay, and the inventory has to be right to the seat. I worked across the booking flow, payments and the integrations that keep organisers' systems in step.
If your system has to stay up and stay right under real load, with real money going through it, this is the kind of work I've done before.
And the rest
Alongside client work I've built and shipped several products of my own, from booking systems to email tooling. They're the test bed for how I work, and I'm happy to walk through any of them on a call.