Thanks, a lot of helpful and interesting ideas here!
I often seem to get stuck in my projects because of overanalyzing and inability to decide the best way to tackle a problem, for example, what classes, modules or libraries should I break the software into. I might have a couple of options in mind, but none of those feels just right. I may be falling into the trap of trying to find a too perfect solution. Another thing I notice, a bit like the poster above, is that at some point I can't seem to fit all the code or architecture in my head, and at that point the project starts to feel "foggy" and overwhelming.
What do you do if you feel that your coding project is getting overwhelmingly complex? What tactics or techniques do you use to reduce complexity or tolerate it so that you can carry on with the project?