Full-Stack Software Engineer

Building digital experiences that matter

Specializing in React and Next.js, I bring 7 years of expertise in building responsive, accessible, and scalable interfaces for complex, data-heavy products. I thrive on translating designs into seamless user experiences.

About

Background

With a strong foundation in JavaScript and component-driven development, I excel at creating scalable, user-centric applications. My experience spans React, Next.js, Node.js, and cloud services, with a focus on clean architecture and high-quality code.

Currently

Based in Leicester, I collaborate with cross-functional teams to deliver features for Cromwell's large-scale ecommerce platform. My role involves API-driven front-end engineering, testing, and ensuring customer-focused delivery.

Projects

I learn by building — working on projects to test ideas, explore patterns, and stay hands-on with the tools I enjoy. Here are a few of them:

Featured projects

QuoteFetch

QuoteFetch

AI quoting for UK tradespeople. Site notes in, a priced, professional quote out.

next.jsnodepostgresai
Statement Sorter

Statement Sorter

Turns any bank CSV into a categorised P&L and flags anything it's unsure of.

javascriptnodeai
Cromwell

Cromwell

Cromwell's ecommerce platform: API-driven front-end engineering and testing.

reactnext.jsnodeaws

Experiments and small builds

Sliders Game

Sliders Game

A sliding puzzle game featuring random tile generation and a leaderboard. Position the pieces into the correct order in the fewest possible moves.

javascriptmongodbcss
Unsplash Image Engine

Unsplash Image Engine

A fast Node.js application which uses the Unsplash API to find and display high-resolution images via a responsive EJS interface.

nodeexpressjavascriptejs
Dynamic Wave Pool

Dynamic Wave Pool

An interactive animation experiment using conic gradients to simulate wave patterns. Customise speed, colour and geometry in real time to explore the power of pure CSS motion.

javascriptcss
CSS Ghost

CSS Ghost

A zero-config Node.js CLI that finds and removes orphaned CSS selectors.

javascriptnode
Marble Solitaire

Marble Solitaire

A fast-paced JavaScript logic game where players try to clear the board within a 100-second countdown. It features a responsive design and a MongoDB-powered leaderboard.

javascriptcssmongodb
Psychedelic Avocados

Psychedelic Avocados

A hypnotic wave of 20 psychedelic avocados, made purely with CSS.

css
Rapid HTMX Search

Rapid HTMX Search

A fast, reactive movie finder showcasing HTMX in action — delivering server-driven UI updates through seamless HTML swaps without the overhead of a heavy client-side framework.

expresshtmxtailwindomdb-api
JavaScript Clock

JavaScript Clock

A digital and analogue clock made with just 20 lines of JavaScript.

javascriptcss
All-in-one Search

All-in-one Search

A versatile tool which makes searching multiple channels quick and easy.

javascriptcss