homeprojects

Projects

A showcase of some of the things that I've worked on in the last few years while at IBM iX, Multiverse, and a few personal projects.

Stardust design system

Founded and now lead our design system and front-end foundations discipline, working across Figma and code to build a scalable system of tokens, components, and patterns rolling them out across 10+ applications with high adoption and developer satisfaction (66% adoption, 84% CSAT).

It's largely built on top of tailwind and radix-ui, using custom spacing, color, and typography scales alongside some more involved custom elements.

The system itself is composed of multiple packages in a monorepo to enable different apps to adopt it depending on their tech stack, e.g. Phoenix or React, or if they had pre-existing style systems that were incompatible with Tailwind.

Our storybook with components, tokens, and patterns is visible online here.

The Multiverse customer app, a HR workforce product

Zero to one: built, shipped, and iterated on our new customer app focused on workforce management for folks in HR managing 1000s of apprentices, sometimes across multiple companies. This project had it all:

  1. Started with a scrappy solution we shipped to three customers using a third-party PDF and CSV generator,
  2. Bootstrapped our first service outside of our platform monolith, a Next.js app with PostgreSQL DB
  3. Built a team from scratch across the UK and the US, starting with contractors as we hired out perms in the background.

The resulting app is a complete HR workforce management product, specialised to managing learners on apprenticeships.

Notifications infrastructure migration

At Multiverse, I was the engineering lead on our new notifications infrastructure. We migrated over 200 different notifications across 12 applications from our old CRM system. This was a fun one:

My wedding RSVP site

In 2024, I got married. I'm a developer, so of course I spent all my weekends building this when I should have been arranging the venue, catering, and photographer.

The site is no longer live but you can see a video demo above.

The finished site used Next.js with:

This is, perhaps, the most over-engineered site I've built outside work but it gave me a taste of true product engineering - being able to make rapid product and design decisions with an idea of what is possible with the tech, while making sure I nailed the basics of observability, monitoring, access control, and email deliverability.

All this when the audience spans an 80 year age group, has product designers and engineers waiting to critique, and my parents ready to somehow find an error in the flow I had missed.

Multiverse's acquisition of Searchlight

Lead engineer working with our newly acquired Searchlight team to help them merge their technology into our platform.

While technical integration was key, my larger role was making sure that our teams worked well together and that they were able to get productive working within a different organization outside of their San Francisco startup environment.

Working together, within a week we were able to get their core application redeployed in our infrastructure and powering the entry point revenue streams for some of our new, more innovative product offerings.

Design system adoption tracker

Inspired by Omlet and empowered by Cursor, I built a design system tracking tool using Bun, SQLite and SWC.

The tool allows us to track design system adoption over time, to work out where our design system needed investment and which applications needed the most attention.

This was an awesome learning activity, using SWC to create and traverse the AST of an application's codebase to identify component usage. It also saved us almost $19k compared to buying a license that would have covered our usage from Omlet.

Omlet was an awesome product during trial, but we just couldn't justify the cost. Tools like Cursor make spinning up neat projects like this much more viable.

IP for the project belongs to my employer, otherwise I'd love to open source it.

Custom feedback service

An image of a feedback form.

In under two weeks, designed, built and shipped a feedback service to collect reliable user feedback across our product suite.

Imagine hotjar but very specialised to the data we cared about in ed-tech - being used to feed into content and delivery optimisation.

The project was a test bed for a new fullstack microservice strategy using React and tRPC that we then rolled out in three other projects.

This was super neat to be able to create a backend service, admin UI app, and embeddable script all with end-to-end type-safety in one monorepo to enable fullstack dev within one domain space.

Other notable projects

Shell Remote Sense

Led development of a greenfield IoT application for predictive maintenance and monitoring.

This was my second actual project, and we made some gnarly mistakes including learning what a timeseries database was just after I'd built my own using serverless functions to precompute views of our data.

The scale of data we were processing was huge. Taking on more backend responsibilities at the tail end of the project, I executed a new DB partitioning strategy that saved an estimated $250k per year, while also increasing query performance.

More info on their marketing site here.

London Fashion Week

I ran a performance sprint ahead of launch for a new content heavy site. Improving image caching, lazy loading, and optimising UI patterns to use windowed infinite loading,I was able to mobile lighthouse score by >30 points.

My wife found it hilarious that I worked for London Fashion week given my usual attire of fleeces and jeans.

Site still live here.

HSBC Business Banking

Led migration of their business banking portal from Angular 1 to React, managing a team of >40 people across the world, from India to Mexico.

Managing a team of this size was mostly discovery of the existing complex systems, pattern setting for our new architecture, and knowledge sharing to get everyone up to speed.

"Gen-o" - Manchester Centre for Genomic Medicine

Full stack engineer on a first-in-class patient case management system specialised for genetic diseases.

This started as an IBM iX volunteer project during COVID, and has grown into an app used across hospitals in the North West of England.

I studied bioinformatics for a short time during university computer science and it was great to put this into action while working for a good cause.