> This hands-on, incremental approach works, of course. But I don't think it is the most effective way of using LLMs to write apps.
1. Which apps should be built like this?
2. Which apps shouldn't be built like this?
My instinct is that any app worth building and using for a long time should be built incrementally. Otherwise, slop.
I don't think any app should be built like this. Rather, I think this approach should be used when you already have a large codebase and are making atomic changes to it. In fact, I think taking this approach for greenfield work is more likely to result in slop because early accidental decisions turn into fundamental design choices.
Instead, I've settled on a top-down approach: I write an in-depth spec for the whole app first, then have the LLM implement reviewable sections of it.