I've been working on two fairly large vibe-coded apps, and my process has converged on:
- Write a GitHub issue
- (If complicated enough) tell an agent to make a plan and then update the issue
- Have another agent read the issue and implement it
As the features get more complicated, I spend more and more time on step (1), and I'm finding that just taking the time to write a detailed enough issue is 90% of the work (and if I have a problem, going back and writing a much more detailed issue usually fixes it). The thing I realized this morning is that writing these issues and working through the plans is very similar to participating in a system design interview: You don't need to implement anything, but you do need to have a good high-level design, and think through all of the edge cases and tradeoffs.



