Cases

Nine of them - the problem, the call I made, and the failure mode I closed off with structure.

01Product Design

Letting people see all of it without a wallet, and asking for one only at purchase

We were selling an on-chain asset and most of the buyers had no wallet. Rather than making entry easier, I moved the point where entry is required.

Read
02Design System

The design tool is no longer the source of truth, and the code moved into packages

The standard for a screen lives in running code, not in a design file. That standard was then lifted into packages all four products share.

Read
03Delivery

Building only what goes out, instead of opening the firewall

The ask was to use one screen from outside the company, but that screen shipped in the same bundle as the internal ones. Instead of opening access, I built only the part that goes out.

Read
04Product Policy

Treating a single verb as regulatory exposure

The verbs on a screen state the company's legal position. This was not a matter of softening language but of changing the subject of the sentence.

Read
05Delivery

Collapsing a release schedule to one gate, then putting progress on a screen

Several gates mean each one becomes negotiable. Reduced to one there is nothing left to negotiate, and how far that one gate has come is answered by a screen rather than by a person.

Read
06Design tooling

Building the tool so nobody has to wait for a designer

The specs were already settled and a person was the bottleneck. Instead of widening the bottleneck I built a tool that knows the specs.

Read
07Documentation

Making every mirror declare itself, and moving repeat mistakes into checks

After failing to eliminate duplication, I stopped removing mirrors and made each mirror declare that it is one. Repeat mistakes moved out of cautions and into checks a machine enforces.

Read
08Prototyping

Six shells later, finding out the structure was the problem

A neighbourhood game app, seven builds in two days, laid side by side. Six of them differed only in the shell. The seventh cut the home down to today's one round, neither map nor feed.

Read
09Product design

Not finishing a design with one happy screen, but standing every state on one page

The design file had the happy screen and the empty one was a frame marked "content TBD". Empty, error, loading and mobile were built in code first, laid out on one page, and sent back into the design file.

Read