
Engineering, Architecture and a Thoughtful Approach to Product
Tech Lead and Senior Software Engineer with 11+ years of experience connecting business needs, technical decisions and considered user experiences.
I enjoy working through the whole problem: understanding what people need, exploring the options, designing a solution, building it and helping it succeed in production.
My interest in technology started at 12. Since then, it has grown into a career spanning full-stack development, enterprise commerce, system integrations and solution architecture. Today, I combine hands-on engineering with technical leadership, helping teams make decisions and build software that performs well and remains straightforward to maintain.
My technical background includes TypeScript, JavaScript, React, Next.js, Remix, C#/.NET, Microsoft Azure and relational databases. I work extensively with Shopify Plus, alongside the applications and services that connect it to the wider business.
Building and Supporting Commerce Platforms
At Pro:Direct Sport, I lead technical design and development across commerce platforms spanning web storefronts, mobile applications, POS and back-office systems.
My current work includes four Shopify Plus storefronts serving UK, EU and US consumers and a dedicated B2B portal. I was a key contributor to the company’s migration to Shopify Plus, which delivered £3.2M in annual platform ownership savings.
I work across storefront themes, custom applications, checkout and customer account extensions, Shopify Functions and international commerce. I also build the services connecting these platforms, including Azure integrations with Metapack for global shipping options and pickup point functionality.
My broader experience includes catalogue architecture supporting over 200,000 products and 1.8M SKUs with sub-second search and browse experiences, rules engines, customer data integrations and the ongoing operation of production applications.
Connecting Technical Decisions to Business Needs
Technical leadership means staying close to both the problem and the implementation. I lead discovery and solution design workshops, work with stakeholders on platform priorities, and help engineers evaluate approaches and understand the trade-offs.
Good solutions often start with a conversation: understanding the problem behind a request, making constraints clear and agreeing on an approach that fits the business and the people maintaining it.
I stay involved in the code as well as the architecture, carrying decisions through implementation, delivery and production support.
Bringing a Design Perspective
Design has always been part of how I approach software. Earlier in my career, I spent several years designing and selling digital templates, developing an appreciation for usability, visual communication and the details that make a product feel considered.
That experience still shapes my work. I care about how an interface looks, how clearly it communicates and how easily someone can complete what they came to do. I enjoy working with designers and product colleagues to connect those details with the engineering behind them.
Working as Part of a Team
I value clear communication, shared ownership and being someone colleagues can approach. I mentor engineers through code reviews, architecture guidance and day-to-day problem-solving, and support the recruitment and onboarding of external engineering resources.
I also use AI-assisted tools, including Cursor, ChatGPT, Codex and Bugbot, to support development and code review. They are part of my workflow, with engineering judgement guiding what reaches production.
The work that interests me most brings together hands-on engineering, architecture, product thinking and technical leadership. I want to help teams make sound decisions, deliver useful improvements and build software they can confidently develop over time.
Languages & Web
Core technologies I use to build for the web
TypeScript
Type-safe JavaScript development
JavaScript
Interactive web experiences and application logic
HTML
Semantic, accessible web structure
CSS
Responsive layouts, styling and animation
C#
Backend services and .NET applications
PHP
Server-side web development
Rust
Fast, reliable systems development
Java
Object-oriented application development
Frameworks & Libraries
Tools I use to build modern applications
React
Component-driven user interfaces
Next.js
Full-stack React applications
Vue
Reactive, component-based applications
Nuxt
Full-stack Vue applications
Laravel
Modern PHP application development
UI & Styling
Technologies for building and styling interfaces
Tailwind CSS
Utility-first interface styling
Base UI
Headless, accessible React components
Radix UI
Accessible, unstyled UI primitives
Data & CMS
Tools for content, APIs and data
Payload
TypeScript-first headless CMS development
GraphQL
Flexible, strongly typed APIs
MySQL
Relational database design and querying
Design
Tools I use for visual and creative work
Photoshop
Image editing and digital design
Illustrator
Vector graphics and illustration
Figma
Working with designs and developer handoff