The protagonist trying to write a poem only to be dissatisfied, crumple sheets of paper and starting all over again. Have you seen this?
Writing a piece of software is more or less akin to that. Like the language, writing software has its own expressive power, you are never satisfied and there is always scope for improvement.
It is easy to discard and start all over again. It is possible to reuse stuff from another project. It is possible to add as many checks and balances, it is possible to add unnecessary exception handling, it is possible to over-engineer it.
If you are product manager with deadlines or limited budget, you will be forced to put a stop to this never ending scope and release it.
But, if you are the developer, you are the designer, you are the backend, you are the devops and you are the content owner and more importantly it is for you, without any deadlines and financial constraints, you have a perfect “slow storm”.
A slow storm that never moves an inch, but keeps getting bigger and bigger.
That’s the curse of software - it is never perfect, there is always scope of improvement and as a creator, you will never settle down expecting to build the best.
Well, that sums up my holiday mood trying to build a personal portfolio site 😅