Life is too short to make stupid problems for our future selves. Code is problem-solving, exploration, and trade-offs - and never, ever "done". There will always be another feature, another bug, another way things need to now be different. Do right by future you, and don't set them up for failure.
Smooth is fast. Speed doesn't come from cutting corners, it comes from smoothing action.
Know what you want to build. Then, only build what you need for today. Think Death Star II