Senior Frontend Engineer · Design System Author

From prototype to multi-million GBP contracts

Frontend engineer with 9 years of experience shipping production React/TypeScript applications in enterprise SaaS, fintech, insurtech, and logistics. Most recently I spent over a year at Autodesk on a shared React component library used across its construction products. I've scaled platforms from early prototypes to enterprise-grade products, built E2E testing infrastructure from zero, and authored the Chunks UI component library.

Currently available for senior frontend and fullstack roles. See my CV for the full picture.

Latest Wins

Design system migration @Autodesk

Led the migration of a shared React component library (59 component families used across enterprise construction products) to a new design-system generation, keeping existing themes byte-identical in every migration wave.

Cut 452 kB (-61%) from what micro-frontend consumers bundle when importing the shared styles package.

Articles

March 27, 2025

Lessons Learned: NPM packages publishing and API authorization

A case study on how NPM API and local configs can lead to unexpected errors and how to avoid them.

January 25, 2025

Tailwind 4 Dark Mode Dynamic Theme

Learn how to implement a dynamic dark mode theme in Tailwind CSS 4 using the new theme in CSS config.

November 20, 2024

Building a Smart Truncation Detection Hook for React

Learn how to create a reusable React hook that detects text truncation in UI elements, enabling intelligent tooltips and responsive design adjustments.

October 3, 2024

Managing UI Decision Complexity - From Boolean Soup to Business Rules

Learn how to manage complex UI conditions in React by replacing tangled boolean logic with a clean, reusable rules engine. Improve readability, testability, and scalability in your frontend code.

February 10, 2024

Framer Motion: Animating Height Transitions in React

How to create smooth height animations for collapsible content using Framer Motion and dynamic duration calculations based on content size.

August 15, 2023

The Magic of Bookmarklets

A deep dive into bookmarklets - how they work, why they work, and how to create your own JavaScript-powered browser shortcuts.

May 30, 2023

The Nuclear Option: Debugging Broken Layouts with CSS Outlines

A quick CSS trick to visualize element boundaries and debug even the most complex layout issues in seconds.

April 12, 2023

Framer Motion: Animating Component Appearance in React

How to create smooth, reusable appearance animations in React using Framer Motion and AnimatePresence for better user experience.

November 8, 2022

Managing Functional Code Plugins in React Using Lifecycle and useEffect Cleanup

Learn how to manage functional code plugins in React using lifecycle and useEffect cleanup. A detailed explanation of the code and best practices for managing third-party plugins.

September 22, 2022

TS/React #01: Where are my prop types?!

You got yourself a nice third-party component, but there's a catch: it doesn't export its prop types. What now?

1435