To be honest, I was struggling myself whether to publish this post. These are my thoughts, that may seem obvious, but some part of me thinks that it's still worth sharing.
I want to address the space of problems and solutions.
As I see, we tend (in web community) to get into the hype train with new solutions.
Although this is good because of the impact and progress it has, you should take care before applying new, hot ideas in your project.
First of all, remember that these solutions/projects came out not to shine, but to solve exact problems that someone had in his own project. Most of them are not the one-and-only-universal-best-ever takes on exact problem, but probably they have proven it's value in someone's case. However, it may not in yours. Moreover, their's problems may never exist in your project! This thoughts could be (and maybe will) developed in another post about technical debt, but what I want to provide is: Start simple and focus on your business, make it work, make it profitable 💲 and then, if you will have some problems - solve them. Overengineered project can be worse in maintenance then many simple ones.
So to sum up: Every project is different, each has its own bottlenecks, slightly different architecture, etc. Things that worked for others, may not work in your case or may be overengineered for your project. Analyse your problems/bottlenecks and then (of course do the research, check if somebody had similar problem) apply the best solution that suits your case. Maybe you would invent your thing, that when shared, could solve other's problems.
The key is to SOLVE YOUR PROBLEMS and use/create solutions that solve them.