The beauty of digital product development is: “Anything is possible, it’s just a matter of time and money.” That’s also it’s curse. Because it enables both the decision for a completely insufficiently small solution for a product idea and a overwhelmingly complex solution.
A too simple solution will not even support minimal scaling for the underlying business idea. In the same way, one can - with sufficient resources - spend an enormous amount of time (and money) on the selection, architecture and development of a solution. The resulting product is often over-engineered and over-complex and therefore hardly effieciently maintainable.
Therefore, with every product development, I always try to understand the underlying business first and find a solution that fits the business case efficiently, e.g. by selecting suitable third-party tools and rather buying than building things.
Always keeping in mind that knowledge has to stay within the team to be able to support the business going forward.