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