About
With over 15 years of experience, specialising in front-end web development (but am comfortable across the entire stack) across a range of business sectors. My recent projects span the financial, music, and health sectors.
I am passionate about user interface design, user experience and development, and I enjoy both the minutiae of UI design in Sketch, Figma etc and deploying designs at scale using design systems and component libraries.
I believe technology is only a tool, and building great products requires a broad application of technologies that no one developer can master. That said, my core expertise is in the broader JavaScript ecosystem.
I am proficient in web application design and engineering using React, Next.js, GraphQL, TypeScript, web standards and various other frameworks, libraries and tools (see more in the Highlights section below).
I care about the impact I can have in your company, and the positive impact we’ll have together for the benefit of our users. Accessibility, inclusivity and performance are at the heart of what I do; what we create has to work for the greatest number of users.
I’m also keen to learn new things. Currently, I’m diving deeper into A.I. and Astro.
Contact
Work Experience
Worked across multiple client projects: Cryptocurrency exchange (Tradeblock); Investment banking app (Commerzbank); React app rebrand (Cappitech); investment banking insights app (Clearwater Analytics).
Tech stack: React, Next.js, Vite, TypeScript, Node.js services, OpenAPI schemas, MUI, CI/CD with GitLab & GitHub, Storybook, Vitest, Cypress & Playwright component and end-to-end tests
Built Rostr.cc (IMDB for music) 2.0.
Tech stack: React, Remix, TypeScript, Node.js services, MongoDB, Chakra UI, CI/CD with GitLab CI/CD, Storybook, Cypress component and end-to-end tests
I contributed to Babylon’s two main internal tools: one for staff to manage patients and clinicians, the other for clinicians (e.g. NHS GPs) for when they interact with patients. Both apps are complex React applications that follow a robust testing strategy and strict release processes.
I also worked on a new project to convert those two apps into a new micro-frontend architecture.
Tech stack: Micro-frontends (single-spa), React, TypeScript, GraphQL, Apollo, Formik, MUI, CI/CD with GitHub Actions & CircleCI, Storybook, Cypress component and end-to-end tests
Over ~9 months, my small team shipped 2 apps, many user-facing features and iterated on them further to provide a rich platform for our internal and external clients.
Tech stack: React, TypeScript, GraphQL, Hasura, Firebase (Authentication, Functions, Hosting & Database), Vite, React Query, React Router, Formik, Theme UI, Radix UI, drag and drop, Nivo charts, CI/CD with GitHub Actions, Storybook, Cypress component and end-to-end tests, Retool
In 7 weeks, I created a bespoke component library and migrated from Shopify to Gatsby before relaunching ahead of a new, very successful crowdfunding round.
Tech Stack: React, TypeScript, Gatsby, GraphQL, React Query, CI/CD with CircleCI, npm, Storybook, Contentful
During my short contract, I contributed to various internal and external applications for their product.
Tech stack: React, TypeScript, PostgreSQL, TypeORM, React Router, Redux, Fastify, React Hook Form, Storybook
A short and intense contract for Hackney City Council (on the HackIT team) maintaining three in-house web applications.
Tech stack: React, TypeScript, Next.js
Contributed to an e-commerce project for their client, doTERRA on the doTERRA Marketplace.
Tech stack: React, Apollo, GraphQL, Saleor
I developed the web component for the Samsung Pay Card integration with Curve’s app. I created the first version of Curve's design system for the web which was used on the final project, to redevelop curve.com, the company's public-facing website.
Tech stack: React, TypeScript, Next.js, xState, Theme UI, Storybook, Gatsby, Contentful
Lead developer for various projects while there until I joined the wider team that was responsible for what became known as the "Equals Go" card. I created the "Fuji" design system which is used by all web apps (including React Native).
Tech stack: React, TypeScript, Next.js, Redux, Redux Saga, Styled Components, Storybook, Prismic CMS
Nimbletank hired me to lead and expand their web platform team. In my time there we successfully delivered a range of projects for the web and native (using React Native). Like at TMW, my duties were divided into many things, including: front-end development on complex single-page applications; server-rendered React apps; composing technical approach documents; pitch preparation and presentations; and implementing a robust code review process for our team.
Tech stack: React, Next.js, xState, Storybook, Prismic
Lead front-end developer and scrum–master on many projects, like global brand sites (e.g. barilla.com), games, apps and prototypes. During my time there, I was promoted to Senior Creative Technologist and finally Creative Technology Lead.
Side Projects
A bookmarking/note-taking/social-capturing app for my online life. built using Next.js, React, TypeScript, Supabase Database and Authentication.
Personal journalling app built to help me start writing more. Open source. SvelteKit, TypeScript, A.I. powered text improvements, Postgres and authentication (powered by Supabase)
TILs, snippets—my digital code garden 🌱. Eleventy, Nunjucks, TypeScript, PostCSS, Algolia search
Display and filter your recent GitHub stars in Raycast
Search and favorite npm packages from within Raycast
Port of Rigel theme for VS Code
Design System Utils is a micro framework that standardises your design-system and provide helpful utilities to access its information. It can be used with styled-components, emotion, glamorous or any other CSS-in-JS framework.
This is an opinionated fork of prismic-reactjs that allows you to use custom React components instead of standard HTML tags.
Kickoff is a lightweight, flexible and robust Sass-based front-end framework that is a great starting point for any web site. Developed for projects at TMW, but it grew way beyond internal projects into something that many other companies and developers use on projects of all sizes.