Sometimes I create a solution to a simple problem. However instead of making use of the solution, I keep extending it unnecessarily. This is why for this kind of project, I want to systematically restrain my future self from adding new features beyond the initial vision e.g. by actively refusing generic and re-usable code.
What is the search engine friendly term for this approach or at least for this situation? “Ad-hoc programming” may be literally what I’m talking about, but in practice it’s associated with unplanned happenings.
I would recommend just trying to cultivate a YAGNI mindset. I add a little more to the rationale - we are not very good at accurately predicting future requirements so rework/unraveling work becomes likely.
Following from there, trying to use technology (I could be misinterpreting but I think that’s what you mean by “systematically restrain”) is also going to be things you don’t need.