When building something you rely on your current knowledge and skills to create it. Yet I think it's important to keep starting from scratch every time you build something new.

Mental clarity

Start anew and the only issue you'll have is what you need to add, no bugs to fix, no rules to follow.

What was new gets old, fast

As new concepts and technologies become popular, many of the tools and pattern you used become obsolete and a new project shouldn't get held back by that.

Mistakes happens

You might think you've build something perfect, yet it breaks in a second in your new project. You should think carefully about what to keep and reuse to avoid issues in unexpected use cases that it wasn't meant to be built for, better keep things simple, generic and easily replaceable.

You'll get better

How do you learn something new? Probably by starting from the basics and working your way from there. When you look back at your first tries you notice the difference, this will happen with your projects too, a new project will always be the best one you'll make, because you learned what was right and what wrong from your previous ones.
Starting from scratch might be the best choice for you.
This is my personal opinion and surely won't apply to everything, especially on long running projects, but I'd like to know what you think.
Cheers! 😁
I get your point, but I'm glad the guy who invented the wheel and his friends didn't take your advice. It kind of goes against the idea of using collective knowledge. Imagine if Satoshi had followed your advice?
reply
If the wheel wasn't reinvented you'll have them made of stones even today.
For Bitcoin instead... just look at any non-Bitcoin crypto currency. 🙃
reply
I think we are talking past each other. Here's what I mean: There is a cliche that is used in many contexts "don't re-invent the wheel". That's why I brought up the wheel. No longer using stone wasn't a reinvention. It was a refinement, or improvement. I brought up Satoshi because his genius was putting together all the brilliant technology created by cryptographers before him. I'm not a coder, but I think I see your point. By reinventing you learn far more, and relying on the crutch of your old ideas and ideas of others might stifle your creativity and prevent innovation. I would think there needs to be a balance.
reply
I understand, in my case the best example I can give is, you don't build a car using a bicycle as a base. You're not reinventing the wheel here, you're building the right wheel for the right vehicle.
I probably made it a bit too confusing by keeping it too generic.
I'm glad we're on the same page. 🤗
reply
No bugs to fix, no rules to follow
Sounds amazing, so should I start learning Assembly or program with transistors and vacuum tubes on a circuit board?
reply
You're free to do so. 😎
I've also thought of trying Assembly for gamedev on Game Boy, not sure when I'll begin though. 😉
reply
Sometimes you should, sometimes you shouldn't
reply
That's debatable. Wouldn't say always but get back to fundamentals, yes, and see what changed (if anything) and build on that. You will not redesign IP addressing v4 or v6 you just build on solid fundamentals (e.g. Football team, Bitcoin...etc.) It's easy to get distracted by shiny objects along the way but if you stick to the core ideas you will be fine. Welcome the new, evaluate, and adjust (if necessary). Change is inevitable, just make sure you don't change too much. Be like the river, adjust and keep flowing... :-) my 2 satoshis
reply
That's true, starting anew help keep the good and drop the bad of your previous experiences.
The most appropriate case for my post would be micro apps and the like.
That's why there's so many"Yet Another [something]".
reply