A boring stack for a serious app: Next.js + Postgres
My default choices — and why I keep picking fewer moving parts.
I keep coming back to the same answer: Next.js for the application, Postgres for everything that has to last, and as few moving parts as possible. No Kubernetes, no microservices, no message queue you do not actually need.
A boring stack ships fast and is easy to maintain for years. The originality belongs in the product, not in the plumbing.