Career
Senior Developer
At Oxford Online Pharmacy I operate as the primary technical authority within a small development team, taking ownership of complex delivery and integration initiatives end-to-end and acting as the interface between the engineering function and the C-suite and heads of department.
Modernising a legacy platform
I led the migration of a legacy PHP codebase into the Laravel framework, including a rebrand and theme migration, improving maintainability, security and the ability to deliver change at pace within a regulated pharmacy environment. Alongside it, I identified and drove the PHP upgrade roadmap from 8.2 through 8.4 (with 8.5 readiness) on my own initiative, managing risk and ensuring continuity across critical e-commerce journeys.
Migrating the payment platform
I led the migration of payments from a legacy off-site provider to Checkout.com, working with finance and customer-service stakeholders to establish requirements and validate the approach before owning full technical delivery. It’s now live.
To de-risk the cutover, I delivered it behind a PostHog feature flag as a canary deployment, ramping from a small share of customers up to 100% over the course of a week. With it live, I’m now measuring the impact on conversion (whether it’s lifted, held flat or dipped), with metrics expected shortly.
Developer experience: ephemeral environments
I designed and built per-PR ephemeral test environments, so business stakeholders can validate work before it’s merged and the development team can QA against real-data subsets.
The payoff was a real change in how we delivered. With thorough UAT happening in the PR environments, we stopped firefighting production changes that weren’t quite what was expected. We could validate work ahead of time, confirm we were delivering what was actually required, and iterate safely before anything reached customers. In a regulated pharmacy setting, that materially reduced clinical and compliance risk.
I also standardised CI/CD in GitHub Actions and introduced Docker-based deployments, establishing consistent build and release practices for the team.
Designing a Freshdesk integration
I’m leading the technical design of an integration between the platform and Freshdesk. That has meant elaborating the product requirements, decomposing the work into verifiable tasks, and running an exploratory API spike to validate my assumptions before committing to an implementation approach.
Infrastructure analysis
I conducted an infrastructure analysis of the Laravel/MySQL order-processing system (~8,400 events/day, AWS Lightsail-hosted), recommending an RDS migration ahead of queue-architecture changes.
Ways of working
I brief the C-suite and heads of department on progress, translating technical complexity into business terms, and I champion the pragmatic use of AI-enabled developer tools (including Claude Code) to improve delivery speed and quality while maintaining code-review discipline.
Stack: Laravel, Vite, TailwindCSS, MySQL, AWS Lightsail, GitHub Actions, Docker.