The real issue is that by mixing code that’s evaluated on the server side and client side together, this becomes an application that’s difficult to reason about. It invites the development of a monolithic application architecture that crosses boundaries in a way that makes for an unmaintainable code base. I say this as someone who quite likes Nextjs as a framework. It solves some real problems, but I have to say that some of the recent changes are a step in the wrong direction. I’ll stick to the Pages Router.