Skip to content

Company

Values

Not aspirations — tie-breakers. Each one is written as the trade it actually makes.

Usefulness over completeness

A family ships when it does one thing correctly, not when it covers every case someone might want. Speculative props are harder to remove than to add, and an API that anticipates everything commits you to all of it.

Clarity over cleverness

The measure of a component is whether you can predict its DOM without reading its source. Where a clever abstraction and an obvious repetition disagree, the repetition usually wins — and where it does, the reason gets written down so the next reader does not have to rediscover it.

Craft over throughput

Details that only some people notice are still details. Focus rings that clear contrast against the surface behind them, hairlines that survive forced colours, anchors that clear a sticky header — none of these show up in a demo, and all of them show up in use.

Ownership over process

Whoever changes something is responsible for verifying it, including the parts that are tedious to check. “The tests passed” is not ownership; the tests only know what someone thought to ask.

Calm over urgency

Nothing here auto-rotates, auto-plays, or animates without being asked. Motion respects prefers-reduced-motion, and the default state of an interface is still.

Humility about being wrong

Half the notes on this site are about something we got wrong: an audit that measured the wrong thing, a fix that would have been a no-op, a gate that never gated. Writing those down is cheaper than rediscovering them.