Overengineering can slow down progress, increase costs, and make a project harder to manage, which is why it's important to keep focus on current requirements and to avoid getting too caught up in future possibilities.
One way to avoid overengineering is to start with a solution that's simple, scalable, and easy to iterate on rather than building fancier or more complicated features and frameworks that aren't immediately necessary.
Using the YAGNI (You Aren't Gonna Need It) principle is also a good way to avoid unnecessary features and costs, as it encourages developers and those involved in the project to focus on delivering core functionality (minimum viable product) that immediately provides value to users.
The urge to build something flawless can be overwhelming in new projects and can lead to perfectionism, which can delay progress, lead to frustration, and waste valuable time that could be spent on making improvements.
To avoid the perfectionism trap, it's important to agree on what's "good enough" and focus on delivering visible features to stakeholders rather than spending all your time making minor tweaks and trying to make everything perfect.