I feel like the 'get something out there' philosophy is so important. When you do, you can use the feedback to revise future plans and features you were planning on implementing, as well as having the ability to pivot with minimum wasted time. Also its not fun to build an elaborate architecture and to have it fail (violating the principle of failing early and often).