Key
Projects.

I try to take a holistic view of every project to spot potential pitfalls and technical debt before they become an issue. Most of my recent work has involved building multi-tenant applications, handling data-heavy integrations, and making sure everything is modular and easy to maintain. I also like using AI assistance to help speed up my workflow and improve overall efficiency.

Recent Engineering

True9

True9.co.uk 2026

Astro TypeScript Directus CMS Docker GSAP
View Live Site

Business Problem

Manages extensive layout variations that ensure total cohesion across all CMS-driven pages for my current employer.

Engineering

SSR corporate website (true9.co.uk) built with Astro + TypeScript, backed by self-hosted Directus CMS (Docker). Complete end-to-end delivery. Evolved from Gridsome and Nuxt 2/3 to maximize performance and SEO.

True9.co.uk Visit Live Site
True9.co.uk - 1
Prizeshark

Instant Win 2025

Vue 3 Pinia GitHub Actions Vitest Tailwind

Business Problem

A multi-step prize claim redemption system designed to handle numerous concurrent brand deployments efficiently.

Engineering

Vue 3 SPA for multi-step prize claim redemption. Build-time theme isolation supporting 40+ concurrent branded deployments from a single codebase with zero runtime overhead. Pinia state management across entry, prize, and address workflows. GitHub Actions CI/CD with automated competition lifecycle management. Comprehensive Vitest unit test coverage.

Instant Win
Instant Win - 1
Prizeshark

Prizeshark 2024

Vue 3 (Composition API) QuickBooks API Algolia Chart.js

Business Problem

A portal for prize fulfilment operations requiring real-time multi-currency reporting and integrated product pricing, supplier management, and client markups.

Engineering

Vue 3 (Composition API) enterprise portal for prize fulfilment operations. Features sophisticated multi-step forms and QuickBooks synchronisation for complex sales order workflows. Includes Algolia-powered deep-linking into sales orders and recipients. Interactive Chart.js dashboard with real-time multi-currency reporting.

Prizeshark
Prizeshark - 1
WTAE

Wool Testing Authority Europe 2023

Vue 2 Gridsome Stripe API Node.js

Business Problem

An end-to-end system for an internationally licensed wool testing company to manage fleece test bookings and allow machine operators to run high-precision tests on samples.

Engineering

A suite of three related applications for an internationally licensed wool testing company. This includes a Vue 2 website built with the Gridsome SSG featuring a custom Stripe integration for booking fleece tests, and a separate Vue 2 application designed as a standalone control panel for machine operators to run high-precision tests on samples.

Wool Testing Authority Europe (1/2)
Platinum Stairlifts

Platinum Portal 2022

Vue 3 PWA Dexie.js (IndexedDB) Leaflet Laravel

Business Problem

A solution for a global stairlift manufacturer to support engineers out in the field, facilitate the ordering of stairlifts and spare parts, and manage a large volume of worldwide units.

Engineering

Offline-first Vue 3 PWA for global stairlift manufacturer, evolved from a monolithic Laravel repo into a decoupled architecture to support engineers out in the field. Manages mutiple 9-step order forms and spare part ordering with persistent state management and full offline functionality including fallback form validation and upload support via IndexedDB (Dexie). Includes 'uCare' - a real-time engineering hub for fault checks and geolocation tracking for a large volume of worldwide units.

Platinum Portal
Platinum Portal - 1

The Archives

Brand Recognition

An interactive quiz built using Vue.js. Can you guess 15 of the world’s top brands from just a small crop of their logo?

Vue.jsGSAPSASSBEM
Brand Recognition
Brand Recognition - 1

Data4NHS

Design done in browser, using a style guide as reference. Includes lots of custom functionality, which alters the user experience depending on user status. Integrated with an external database of medical professionals, that can be filtered and searched through.

WordPressPHPMySQL
Data4NHS
Data4NHS - 1

Formula 1 Statistics

Data visualization dashboard exploring historical F1 race results and driver performance metrics.

Vue.jsD3.jsTailwind
Formula 1 Statistics
Formula 1 Statistics - 1

First Home Hotspots

An interactive map built with Vue.js. It allows you to select a location in the UK, and explore the property market to discover why the area is such a hotspot for first-time buyers.

Vue.jsSASSBEM
First Home Hotspots Visit Live Site
First Home Hotspots - 1

Gulp Barebones Boilerplate

Includes live HTML/CSS injection with Browser Sync, image compression, minification, and lots more. It's fully documented, and maintained on a regular basis.

GulpJavaScriptBrowser Sync
Gulp Barebones Boilerplate
Gulp Barebones Boilerplate - 1

British Sign Language Quiz

See how familiar you are with British Sign Language by taking this interactive quiz. Built using Vue.js.

Vue.jsGSAPSASSBEM
British Sign Language Quiz
British Sign Language Quiz - 1

Gulp Email Boilerplate

Created to help make email builds scalable, and also reduce the amount of technical debt. SASS is used for styling, and templates are built modularly. A separate task is run to create a production ready template(s).

GulpJavaScriptSASSEmail Development
Gulp Email Boilerplate
Gulp Email Boilerplate - 1

Insurance2Go

Instant quotes and insurance for mobile phones. Worked on the front end to create reusable HTML modules for integration into Umbraco by the back end developer.

UmbracoSASSBEMHTML Modules
Insurance2Go Visit Live Site
Insurance2Go - 1

Jane Tomlinson Appeal

A charity dedicated to helping children with cancer. Worked on the front end to create reusable HTML modules for integration into Umbraco by the back end developer.

UmbracoSASSBEMHTML Modules
Jane Tomlinson Appeal Visit Live Site
Jane Tomlinson Appeal - 1

Luke Fryer - Photographer

High-performance portfolio for my photography work, focusing on image optimisation and smooth gallery interactions.

GridsomeVue.jsFramer Motion
Luke Fryer - Photographer (1/2)

M88 Casino Landing Pages

A collection of multilingual animated landing pages, interactivity added using GSAP. Final version used PHP to get live data from an API. I've made available the stripped down, HTML, English only version.

HTMLGSAPPHPAPI Integration
M88 Casino Landing Pages
M88 Casino Landing Pages - 1

Taveners

This was built using designs created in Illustrator, and involved a bit of SVG creation and manipulation. Custom Post Types were used to create the products section.

WordPressPHPSVGIllustrator
Taveners
Taveners - 1

Web Development Portfolio 2018

An early portfolio exploration using WordPress as a headless CMS with a custom front-end.

WordPressjQueryPHP
Web Development Portfolio 2018
Web Development Portfolio 2018 - 1

Web Development Portfolio 2016

A classic portfolio site from 2016, focusing on responsive design and interactive elements using jQuery.

HTMLSASSjQueryGulp
Web Development Portfolio 2016 Visit Live Site
Web Development Portfolio 2016 - 1

Zephyr Home Loans

A WordPress site for a buy-to-let lender for mortgage intermediaries. Built from scratch using Advanced Custom Fields.

WordPressACFPHPCSS Grid
Zephyr Home Loans
Zephyr Home Loans - 1

Medical Protection Society

A fully responsive, IE8 compatible website. Uses hardware accelerated transitions (CSS3 and GSAP). Graceful fallbacks implemented for older browsers, and was built to function consistently across all browsers.

HTMLGSAPCSS3IE8 Compatibility
Medical Protection Society
Medical Protection Society - 1

Web Development Portfolio 2020

My previous portfolio iteration, built to showcase Vue.js expertise and experimental GSAP animations.

Vue.jsGSAPSASS
Web Development Portfolio 2020 Visit Live Site
Web Development Portfolio 2020 - 1