When i first started developing, i just used to not think much about anything i have had to deal with in future regarding the project and just go with anything i have had thought of for little...
Now as the years been passed, i have been doing proper research about every possible functionality and stack to be used in project, and choose the right one possible, so i don't have to face much issues when managing the project and making changes into it. As we all know , first draft of project is never an end of project , there are going to be huge changes in everything possible that client can make us do. i would keep in mind about stack and way of developing the project and keep in mind about the performance, security, type of users will be using the software so everything created is basically user friendly for that kind of group (not too complex and confusing for them) ...
Even if it takes week to two to me to decide the final stack for the project , i would not mind at all to proper research and take the project from a piece of paper into something functional as i would have decided the possible right stack for it and made the plans for the process and i'm good to go.
But another thing i have noticed is too much of research and being double minded about multiple things , can lead to confusion for our self and make huge mistakes.