But over time I lost the ability to reason about my Next code almost completely. Sometimes it’s the caching, sometimes it’s some little arcane code differences that turn my route into an unexpected type. There is some logic behind it, I can respect that, but I no longer have a coherent mental model of what the framework / the platform does.
It feels like the reality that the abstractions are trying to cover is too wild not to break through at places. Which, I guess, is just web. But it’s a pity, it felt good to have a saner, simpler platform to develop for in older versions of Next.
Next is by far the worst thing ever. Everything is broken in a weird way and the deeper you dig into it deeper it starts biting back. It was the only thing I dreaded maintaining.
Now that LLMs write code, it probably is not be as big of an issue though.
Still would not wish next upon any of my enemies.
Nowadays no idea what they are trying to do with it, I rather be dropped into a random Spring or ASP.NET project, or even C, than Next.js.
Sadly it is the new darling of SaaS cloud products as extension SDK and deployment partner, and thus the only way to some consulting gigs.
At least the whole headless, DXP hype cycle seems to be wanning down, so maybe we get proper SDKs back.
And while we're at it, what about porting Next.js into Next.rs, and remove all that "use nonsense"?
I am often posting that if you pick Gleam for UI, Rails or Phoenix, which will make your codebase easier to follow and more stable, I will give you discounts.
I had made a Golang htmx + templ codebase and just out of curiosity I ported it onto gleam using an open weights model (glm 5.3)
Although it struggled a little bit first because of learning some parts of gleam but overall after it searched for documentation and learnt some things on its own, it was able to completely rewrite it in just 1/2 very small prompts which is crazy.
I think phoenix can be great as well and I am doing an experiment to try to port it to many functional languages and just testing which language is the best for it but so far I am impressed by gleam!
At my new job we needed a robust platform for executives and ops people to vibe code in. I created the project using latest Phoenix and everything works flawlessly. We get so much for free, hosting is peanuts, and iterating is easy for the AIs.
I even have tons of really strong deterministic guardrails for people vibecoding:
Before you commit, run mix precommit and make sure it's green.
And mix precommit is: precommit: [
"compile --warnings-as-errors",
"deps.unlock --unused",
"format",
"credo --strict",
"ex_dna",
"reach.check --arch",
"dialyzer",
"test"
]
Credo has https://github.com/elixir-vibe/ex_slop added to it.It's really great, try it out.