Why I stopped handing off Figma files
A Figma file is a record of decisions. The spacing scale is a decision. The fact that the empty state came before the full one is a decision. The reason the primary button is not on that screen at all is a decision.
None of that survives a handoff. What crosses is the picture.
The engineer gets a frame and a set of measurements, and everything that made the frame the way it is stays behind in my head. So they rebuild the reasoning from scratch, badly, under time pressure, from the only evidence they have. Then I review the result and say the spacing is wrong, and we both know it is not really about the spacing.
What actually goes missing
Not the values. Values transfer fine, and tooling has been solving that part for a decade. What goes missing is the ordering: which constraints came first, which ones were traded away, and what the design is protecting.
An example from a board I built. Opening a card slides in a panel next to the board instead of covering it. That is one visual decision and one sentence to describe. The reason behind it is that a person moving cards needs to keep seeing where the card sits while they read it, and covering the board breaks the task they were in the middle of.
If that sentence does not cross with the frame, the first performance problem turns the panel into a modal. The modal is easier to build, it looks nearly the same in review, and the whole point is gone.
Doing both halves
So I stopped handing off, and started building it.
Not because I write better front-end code than a front-end engineer. Because when the same person does both, the reasoning does not need a carrier. There is no document that has to be complete, no meeting where the important sentence gets cut for time, and no translation loss between two vocabularies.
It changes what design decisions I am willing to make, too. I no longer draw things I would not want to maintain, which sounds like a limitation and works like a filter. The interface gets simpler because the person drawing it is the one who will be inside it at two in the morning.
The tradeoff is real: one person is one person, and this does not scale past a certain size of product. But below that size it removes an entire class of failure, and that class is where most of the disappointment lives.