Designing in code, not for it
Why I stopped handing off static files and started shipping the interface I designed.
- Process
- Design Engineering
The gap between a design file and a shipped interface is where most of the craft leaks out. Spacing drifts. Easing curves get approximated. The empty state nobody drew gets invented on the spot.
What changes when you build it yourself
You stop designing things that can't exist. Not because you lower your ambition, but because your ambition gets calibrated against what the platform actually does.
// The hover you drew as a 200ms fade is really this:
transition: transform var(--dur-fast) var(--ease-out-quart);That's not a compromise. That's the design.
The part nobody mentions
You also become responsible for the boring half: the focus states, the reduced-motion path, the thing that happens on a 320px screen. Which is exactly the half that determines whether the work is any good.