So I find the whole spec-driven development hype odd. I much rather vibe code an app, use that as a spec and then start anew to create the real thing. I haven't fully figured out yet what the best mode is there. So far I'm mostly hand coding it, thinking a lot about trade offs and I have an LLM read the full codebase of the vibe coded prototype and what I'm hand coding, so that I can ask very specific questions about how certain data flows or certain small things that I'm missing.
To me, this way of working is working great. You go from proving that an app provides value to your users through vibecoding through then productionizing it so you can capture all the users that this would be valuable to. It is of course important to sample your users correctly, such that they are a representative sample of your user population but since I do this within organizations usually and the apps are internal, that's usually an easy thing to do.