Skip to content
FLOWPILOTS

ENGINEERING

Color that means something

- Brad Raimer, founder

Open a real cockpit and the colors are law. Green is normal. Amber is caution. Red is a fault, and only a fault. A pilot reads the panel at a glance because no instrument is allowed to freelance. FlowPilots borrows that law wholesale: green means normal or win, amber means caution or cost, magenta means a commanded target, cyan means information, and red is reserved for a true fault. A price is amber everywhere. The one button that commits a staged move is the only green control in the app.

The palette is a contract, so a test owns it

The tokens live in one CSS file, and that file is the source every surface reads. A guard suite fails the build if a relationship in it drifts, which means nobody can nudge a hex in a component and quietly fork the language. Hardcoding a color in app code is a review finding with the same severity as a broken test, and a scan enforces that too.

Contrast is measured, not eyeballed. Every ink-on-surface pair the app uses is asserted against WCAG thresholds in a test suite; a new pair does not ship until it is in the suite. The panel carries two lighting models on one token set, day and night, and every pair is measured in both, so switching the theme can never quietly cost a reading its contrast.

Why so strict

Because the product asks for trust. A cockpit that wants to stage moves against your real accounts cannot decorate: if amber sometimes means "warning" and sometimes means "brand accent," the Pilot has to read labels instead of the panel, and the calm is gone. Fixed semantics make color a language, and a language only works if nobody is allowed to lie in it. The same rule produces the quietest honest detail on the site: numbers render in tabular mono figures, and depicted data always says so.

All posts