Not every application faces all the problems you mention:<p>A lot of teams don&#x27;t have the &quot;designer&quot; problem and are just fine without JSX.<p>Passing data through dozens of children is not a problem in every application, a lot of simple CRUD stuff can do just fine without Flux.<p>Even bundling is not necessary for progressively enhanced websites, and for most SPAs a really simple, naive strategy will do just fine.<p>If the requirements of your project are ambitious, some complexity is not avoidable.<p>But the problem today is that a lot of unneeded complexity is introduced into projects because people want to adhere to &quot;best practice&quot; and don&#x27;t question what they need and what they don&#x27;t need.<p>In my opinion, it is a huge mistake to not actively resist complexity creeping into your project. You should only give in if it there is proof that it makes sense economically.<p>This issue is another variant of &quot;premature optimization is the root of all evil&quot;