I have officially been through enough loops to say this now:
Doing Figma LAST really works.
What devs need to start is the wiring. Not the final interior. Just like the contractors building your house need to know where the sink is, not the color of the tile or the faucet fixtures.
And guess what? In a software system, a lot of the UX is IN THE WIRING. That means: what do you see where, how do you get there, what is shown, what is not? What's the business logic, what's the interaction, what's the flow?
High fidelity matters. The final polish matters. And it's SUCH a better experience to do this ON TOP of working software. Because then you don't have to throw away work. A visual artist can put their heart and soul into every pixel, matching the wiring 1:1. This leads to extremely fast turnaround and buildup of momentum. Like when you finally see the drywall going up and the house becomes real.
And what if the designer should make contributions to the core interactions or flow, and not only the surface? No problem — we can collaborate during shaping. We can spike interfaces, sketch ideas, and breadboard our conclusions in a whiteboard. But we don't the need to "lock in" the "final, final, final" Figma just to get started. Not at all. Wire it up, click on it, figure out if it does what we want, THEN we can go the extra step to make it beautiful.
This really works. It's a way faster kickoff. And the designers are happier too.
What about Lovable, v0, etc? The same pattern applies. If you try to give a high fidelity prototype as the "input" to the build step, there will be trouble. Lots of time bombs. Lots of business logic and interaction issues we couldn't see behind the illusion of the finished sheen. Vibe coding is fantastic for trying out ideas. But before we start "construction", better to strip back to the essential wiring that we are really sure of and that we understand. Then layer on the polish later.