The "confident wrongness" framing is the real lesson here — most rewrites aren't caused by bad architecture, they're caused by architecture optimized for an assumption nobody validated. I went through a similar cycle: built the polished version first, then learned from real users that the boring infrastructure (status polling, honest error states) mattered more than the features. Keeping a tight feedback loop with a community like Indie Hackers is the cheapest form of validation — I also keep a running directory of the free tools that survive my own cuts at mytoolster.com, because the fastest way to kill a side project is a tool bill that arrives before revenue does.