Embracing Rework as Part of the Process
Why doing things twice can be a feature, not a bug, when building a side SaaS.
Posted by

Related reading
Walking Away from Centralised Auth
I tried a shared-auth pattern across Next.js apps. It mostly worked—until it didn’t. Here’s why I dropped it.
Reflecting on why the initial concept rarely matters as much as you think.
Embracing Minimalism in the MVP
How a bare-bones approach keeps your side project manageable and moving forward.

Early on, I dreaded the idea of rewriting my code. I aimed for a perfect architecture from day one, hoping to avoid future headaches. But I soon learned that no matter how carefully I planned, real user feedback always changed my direction. Rework became inevitable, and resisting it only slowed me down.
It was a revelation when I started to see rework as a form of "productive iteration." By expecting to refactor, I wrote simpler first drafts, knowing they weren't the final word. Each revision improved my design based on reality, not assumptions.
Learning point: Don't fear rebuilding; embrace it as part of evolving. Better to iterate fast and adjust than to cling to a "perfect" plan that never survives contact with users.