Wicked Origami
Design Engineering

Design Engineering

Front-end design and development consultancy and contracting.

I have been designing and building things for the web for over twenty-five years. I do both because the interesting problems live in between: the decisions that look like design questions until you try to build them, and the ones that look like engineering until you watch someone use the result.

How I can help

Four kinds of work

Interface design

Product and marketing interfaces designed in Figma and delivered as working code, not as a hand-off. Layout, type, motion, states, the empty case and the error case. I am a long-standing admirer of Don Norman’s The Design of Everyday Things, which is a polite way of saying I will ask what the thing is actually for.

Application development

High-performance, data-driven front ends in TypeScript and React. Modern routing and data layers, real accessibility, real performance budgets, and tests that fail for the right reasons.

Design systems

Tokens, components and the documentation that keeps them honest — built so a team can move faster in six months than it can today, which is the only test of a design system that matters.

Front-end leadership

Technical leadership for front-end teams: architecture, review, hiring, mentoring, and the unglamorous work of getting a team to agree on how things are done. I have led teams and I have been the only developer in the room; the second is easier and the first is worth more.

How I work

Four habits

  1. I start with the problem, not the ticket.

    The brief is a hypothesis. It is cheaper to test it in the first week than in the third month.

  2. I build in the open.

    Working software early and often, in an environment you can look at, rather than a demo at the end of a sprint.

  3. I write things down.

    Decisions get recorded with their reasoning, so the next person — often you — can change them deliberately.

  4. I leave the place tidy.

    Contract work ends. What remains should be readable by whoever inherits it.

Leading a team

Teams of five to ten

Most of the teams I have led were five to ten people — designers, developers and testers — and in most of them I was the line manager and the technical lead at once. The two jobs pull in different directions: one wants the work shipped this week, the other wants the person still here in a year. The method is not complicated. Listen properly, say what I actually think, and be specific about what good looks like before the work starts rather than after it.

Which of these happened where is in the career history, attached to the job it happened in.

Hiring
I have interviewed for developers, designers, testers, scrum masters, project managers and business analysts, and worked alongside recruitment teams to keep the pipeline honest. It is the highest-leverage thing a lead does and the easiest to do badly in a hurry.
The part nobody advertises
Interventions, redundancies and contract terminations. There is no pleasant version of that conversation, but there is a version that is clear, professional and as kind as the circumstances allow — the company’s position protected, the policy followed, and the person told the truth early enough to do something with it.
Mentoring
Junior designers and developers, at work and privately, on the craft and on what to do next. What I try to leave behind is judgement rather than instructions.
Agile in practice rather than in theory
I have been a scrum master, recruited scrum masters, and run workshops for boards and C-level stakeholders on Agile, planning and how to run a delivery team. The value was never the ceremony; it is that everybody can see the same state of play on the same day.

Tools

The stack I reach for first

  • TypeScript
  • React
  • TanStack Router and Query
  • Vite
  • Zod
  • Zustand
  • CSS Modules and design tokens
  • Vitest and Playwright
  • Cloudflare and GitHub Actions

I have shipped production work in Next.js, GraphQL and a long tail of things that predate all of it. The list is a starting point, not a religion — this site’s own technical decisions are written up if you want to see how I choose. The full skill set is there too, every entry marked for how much of it I have actually done and whether I would still choose it today.

Working together

Three ways to engage

Remote-first, UK-based, comfortable across European time zones and used to working with distributed teams.

Contract
Embedded in your team, typically three to six months, four or five days a week. Day rate, IR35 status assessed per engagement.
Consultancy
Shorter and sharper: a design-system audit, a front-end architecture review, a rescue on something that has stalled. Fixed scope, fixed price.
Fractional lead
One or two days a week providing front-end technical leadership to a team that needs the judgement but not the headcount.

William is an exceptional tech lead, developer and designer. It's fairly rare to come across an individual with the range of skills that Will has and was able to bring to bear on delivering this project.

Ash PatelProgramme Manager, Johnson Matthey

Have something that needs designing and building?

A paragraph about the problem is plenty. I would rather read something honest than something polished.