When I work on code, especially for fun I often find myself in this inifinite refactoring loop.
You start writing some code and you end up having for example a two API endpoints and then you find a much cleaner way to organize things and then you apply that to all your code. And then you continue, and the same thing happens over and over and over.
I think it is a good thing. And I think it is a skill that should be valued. Or maybe it is a habit.
But you need to ship stuff.
What I usually do, both at home and at work is that I apply new patterns and stuff as I work on things. And then I do larger let’s make it awesome intervals now and then. At work I do it on improvement fridays and at for hobby projects I do it when I kind of have completed what I was working on before I figure out what to do next.