The most frustrating thing about Next.js is that it tries to be a really cool Rails/Wordpress/Meteor-like full-stack everything-and-the-kitchen-sink framework, but you quickly realize that all the opinions you delegate for it to make are, like, the most boring possible things it could choose to take opinions on (e.g. its opinions about middleware, image resizing, SSR-everywhere, etc) while the actually productive opinions it could take it leaves to you (database, ORM, communication protocols). Its not remotely in the same realm as Rails/Wordpress/Meteor.

Framework-defined infrastructure is a seriously cool and interesting idea, but nowadays Next feels more like an Infrastructure-defined framework; the Vercel platform's architecture and design are why things in Next are the way they are. It was supposed to be "Vercel adapts to Next", but instead we got four different kinds of subtly different function runtimes. My usage dashboard says my two most-used things are "Fluid Active CPU" and "ISR Writes". I just pay them $20/mo and pray none of those usages go over 100% because I wouldn't have the first clue why I'm going over if it does.

Half the labels on there are Star Trek technobabel, which I would take the effort of learning, except I'm convinced they're all going to change with the next major release anyway. Partly because, I keep hoping & praying they will. I know a concerning number of former die-hard Zeit fans who've taken their projects and customers elsewhere. At the end of the day, if they were to ask me what they need to address in the next major release, I seriously do not know how to answer that question beside "practically every major and minor decision y'all have made since and including the App Router was the wrong one". How do you recover from that? Idk.