For some developers choosing the right stack for an application may seem like a trivial task; simply follow best practices and choose the most modern well-supported tools out there.
While this approach will usually lead to a successful outcome, I've found that spending just enough time up-front has led me to create working products much faster and with less effort.