Case 02Farsight · BaxEnergy, a Yokogawa company

A Direction Nobody Ordered

I was hired to design screens, not systems. The design system was something I took, with no mandate, no engineering headcount, and no authority to block a single release.

RoleLead Designer, Design Ops
AxisOrganisation
TeamOne designer
1Inherited · Ant Design, beta

The sidebar was a different colour than the app

The navigation rail rendered in dark mode. Everything it navigated to rendered in light. There was no spacing grid, no rule about what should be bold, and a typeface that could not carry right-to-left scripts. Every page in the product had its own face.

Six variants of the Farsight
            navigation sidebar shown side by side: desktop expanded, desktop expanded on hover,
            desktop collapsed to an icon rail, collapsed on hover, the mobile closed header, and
            mobile expanded. All six share one light theme and the same list of module
            entries.
The rail today. Six states from the design file, one theme across all of them. The dark-against-light original predates the system and was never drawn in it.
2Mandate · Taken, not given

Nobody was worried about it

My job was module strategy and user experience. The system was nobody's. So I built mockups and carried them up the chain asking for permission, until the head of R&D bought in, and later became CTO, which is the only reason the work survived.

I could never block a release. What I had was the right to define the system, and the standing to negotiate: ship the simplified version now, apply the system after.

3The argument · Fitness, not damage

Ant Design is built to sell things

It comes out of Alibaba, and it is tuned to fill a shopping page: generous buttons, wide corners, type sized to be inviting. Farsight runs on control-room video walls, where a module gets one screen out of a bank of them.

Ant's chrome takes up too much space relative to the content.

Five stacked device cards in
            working, warning, fault, service and unknown states. Each packs a title row, a status
            dot, power and wind readouts with inline bar gauges and numeric callouts, and a
            direction indicator, into a card roughly two inches tall.
The card the argument was for. One device, five states, two live readouts and a direction dial: small enough that a wall holds dozens of them.

I did not argue that the mess was costing us deals. It wasn't: the product was pre-sale, a handful of screens, still being built. I argued the engine was wrong for the room.

4Month 1 · Proof, not proposal

I didn't write a manifesto. I built the screens.

Month one was components made the way I thought they should be (tighter buttons, slightly smaller type) and then real screens built out of them, to demonstrate that the new system fit more information on a screen while being easier to read, not less.

By month three I was selling it upward. By month six the whole system existed in Figma and the first real changes landed in the code.

A grid of button variants:
            seven columns for the button types, each shown at four sizes and across six states:
            rest, hover, pressed, disabled, focus and loading.
What “built the screens” meant. Seven types × four sizes × six states: 168 variants of one component, filled in completely rather than sampled.
5Adoption · One hour, daily · The mechanism

An hour a day with the door open

Design Hour is a standing open room on Teams. Developers drop in with whatever design question is blocking them. It is not office hours for politeness; it is the single mechanism that got the system adopted, and it works because of who else is in the room:

While one asked a question, the other listened. And then each one saw the problem they had, and I helped solve it.

A documentation table of ten
            padding steps in pixels (0, 2, 4, 8, 12, 16, 24, 32, 40 and 64), each paired with a
            relationship metaphor describing the closeness it creates, and a semantic token name
            running from pad-0 to pad-7.
Why it stuck. The spacing scale is documented in relationships, not adjectives. 4px is BFF. 12px is Best Friends (but you don't see each other much). 64px is Acquaintances. Zero is Not healthy relationship. An engineer can hold that in their head; a number they have to look up, they won't.

The same hour is where the most experienced front-end engineers check my work: not how it looks, but whether the states, the accordions and the focus rings actually behave. It is my only structural check on myself, and I am the only designer.

6Reversal · 4.70 : 1 · measured

The blue failed its own test

I picked the palette with a contrast checker that turned out to be wrong. Two better tools disagreed with it, and the primary action colour, the most-used colour in the product, did not clear the bar I had claimed it cleared.

Changing it meant asking permission and interrupting engineers to repaint a live system. Users never noticed. The system changed underneath them.

PairRatio
Action blue on white 4.70AA
White label on action blue 4.51AA
Active state on white 8.91AAA
White label on destructive red 3.65Fails AA
Action blue as text on canvas grey 4.31Fails AA

4.70 and 4.51 land just past the line and not one step further: a colour moved until it cleared a standard, not one picked and then measured. Two pairs still fail. They are open findings in a live product, and they are on this page for the same reason the fix is: the audit is only worth something if it includes the part that is still wrong.

7Now · Adopted as language

They stopped asking me what colour to use

That is the outcome I can actually point at. Alarm severities, the colours for wind, solar and battery, the spacing steps: all specified, so the questions stopped coming. I no longer build components; I assemble them, and the time that frees goes into deciding what a page should do rather than what its corners should measure.

Six alert rows stacked: green
            with a check mark, red with a cross, amber with a warning triangle, blue with an
            information mark, grey with a question mark, and a disabled row in flat grey. Each
            row carries a distinct icon as well as a distinct colour and fill.
Specified, so the question stops. Six severities, each carried by colour and icon and fill. Nobody has to ask which red.

The system was adopted as a language before it was adopted as code. The Figma library is how the product is designed today. The front-end rollout is still going, component by component, and every change of management means selling the continuation again.

Provenance. Contrast ratios are computed from the design system's published token values under WCAG 2.1, measured. Scope figures each say how they are known in the full case study. No client, site or asset names appear anywhere on this page.