there was a hey day where react was concerned with client side stuff only - yeah redux was a little complex but you needed to learn it once, react router didn't change every two days. we built incredible enterprise stuff around that stack react (with classes), react-router, redux. that's the last time I enjoyed react.

everything else is now a hamster wheel. running but staying in one place. marketing and money now drives everything else. Maybe there's a fire & motion strategy going on some of the places.

things like inertia help, but not by much.

You still can build websites this way. I was the first hire at my current company, I got to pick the stack of our frontend repo from the first commit. If you stay away from NextJS, things only improved since those heydays.

We're running tanstack-router, tanstack-query, and using vite underneath. That's about it. Each of these libraries are better and simpler than the standard redux/react-router/webpack from back in the day.

I've got lifelong backend developers reasonably (And somewhat happily) productive with the codebase.

This, with TypeScript strictness cranked all the way up. MUI for the component library, plus Playwright for integration-testing and hoverfly to stub/fake/mock the backend, and Open-API to define the APIs between app -> bff -> backend.

This stack, plus claude-code, with the whole project fully automated (i.e. claude-code run all the parts easily) - is a literal productivity super-power. You can crank out entire complicated LoB apps, 10 - 30 pages of distinct, medium-complicated functionality in about a week, if not less - instead of weeks or months. Fully tested, production-ready codebase, not prototype-tier/vibe-code.

Next.js isn't React. Plain React has been pretty stable, if you ignore server components. And it's quite easy to ignore them despite all the noise around them, they're entirely optional.

[deleted]