What is the handoff tax? It’s everything lost between a finished Figma file and the live product: details that get rebuilt slightly wrong, states nobody designed, and the back-and-forth that follows. It doesn’t show up on an invoice, but it shows up in every release.
Where the tax comes from
- 01Designs that only show the happy path, so developers invent the loading, empty and error states.
- 02Different names for the same thing in Figma and in code.
- 03Specs written after the design, by someone who wasn’t in the decisions.
- 04Design and engineering working in separate weeks, so questions wait days for answers.
How we avoid it
The simplest fix is to make the same team responsible for both. At Rvysion, the people who design a product also lead its build, so a question is answered in the same conversation it’s asked. Beyond that, a few habits do most of the work:
- 01Design every state, not just the screens. Loading, empty, error and success are part of the design.
- 02Build from a shared design system with the same component names in Figma and code.
- 03Review on a staging link every week, not on static mockups at the end.
- 04Write down decisions in the file as they’re made, not in a spec afterwards.
“If it isn’t designed, it will be improvised. Usually at 6pm on release day.”
This is how the Honeycoin web app redesign stayed true to the designs in production: every transaction status, from pending to failed, was designed before a line of code was written, on a design system both sides used.
If you have your own developers
That works too. We hand over components, specs and a walkthrough, and stay on hand while they build. Either way, see our product and app UX and web apps work for how we run it.

Founder of Rvysion. Leads design, product and engineering, so the people who design a product also ship it.