Expertise · 01

Software Engineering

Robust, polished digital products, from interface to infrastructure.

The professional core behind everything else. I architect and build fast, accessible web applications and the design systems behind them, for teams that need them to last.

What I do

Capabilities

  • Full-stack application development
  • React, Next.js and TypeScript
  • Front-end architecture
  • Backend services, APIs and cloud integrations
  • Design systems and component libraries
  • Accessible, responsive interfaces
  • Interactive applications and simulations
  • Technical consultancy and team leadership
  • Modernising existing platforms
How I work

My approach

  1. 01

    Architect

    Set up foundations that scale with the team: structure, data flow, testing and tooling.

  2. 02

    Systemise

    Build the design system and component library first, so every screen is consistent and accessible.

  3. 03

    Build

    Ship features in small, tested steps with React, Next.js and TypeScript.

  4. 04

    Scale

    Keep it fast and maintainable: CI/CD, Core Web Vitals, monitoring and clear documentation.

Experience

Done it before

30+ commercial applications
Built at senior level or above, across media, telecom, education, retail, travel and finance.
~1B users a year
Helped build a media group's design system, used across its whole organisation.
160M visitors a year
Co-built The Times checkout, with a focus on accessibility and full test coverage.
90+ Lighthouse scores
Led the green-field rebuild of a luxury travel company's website.
Projects

Software Engineering work

Hands holding the All You Need Is HTML and CSS book, with the JavaScript Electronics book on the desk
Books · Writing · Teaching · JavaScript · HTML & CSS

Books and writing

Three books on JavaScript electronics and no-JavaScript interfaces, plus years of articles and videos on AI, hardware and front-end engineering.

A laptop on a wooden desk showing an evolved Genetic UI variant with a big "Click me!" button
Genetic Algorithms · UX · Optimisation · React · Experiment

Genetic UI: letting interfaces evolve

A 2018 experiment that treats a UI component as DNA, generates a thousand random variants, and lets natural selection find the one that works.

A breadboard with an LED and light sensor wired to an Arduino, beside a laptop
React · IoT · Architecture · Johnny-Five · Arduino

React IoT: building electronics like we build websites

Two ideas for bringing web-style structure to hardware: a markup language for physical devices, and React components that switch real lights and read real sensors.

More expertise

Have a project in mind?

Let's build