Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Vercel being involved is a huge red flag.

NextJS is a pile of garbage, and their platform is absurdly expensive and leans heavily on vendor lock in.



Vercel employs maybe half [correction, maybe a quarter] of the React core team. For example, at the keynote at React Conf 2025, it was mentioned that Andrew Clark, who, if I am not mistaken, is employed by Vercel, worked on resolving the rendering issue of React that was blocking the release of React 19 after it was discovered in the release candidate.

Vercel and Next.js have been the main testing ground during the development of React server components as well.

How much has Vercel contributed to the development of react over the past years?


Vercel is the primary driver of react SSR / server components, which has also led to an explosion of complexity in react and has made it less useful as a composable library imo.

The last truly useful react feature for me was error boundaries in React 16 (2017?) and I think hooks was react 16 too?

These days if I need ui components for an existing SSR app I just use web components or lightweight libs like mithril.


Mithril rocks. I’ve been blissfully ignoring the new hotness for years.


> Vercel is the primary driver of react SSR / server components, which has also led to an explosion of complexity

It also alienated a huge part of the userbase that decided to move away from React.


How is lowering bundle size not a useful feature? Being able to render something once at build time instead of shipping it to users is great.


It's just a tool. Are the people that run Makita terrible? Who knows, I just use their tools to fix cars. I use tools to build apps for businesses that pay me. There is far too much ideology based decision making in tech. Just build stuff with it or not.

Far too many smart people are putting their energies into such discussions that add a lot of drag to the process of society and humanity moving forward for no net gain at all.


Oracle is just a tool. WordPress is just a tool. But you may care about their involvement in something you use.


As someone who isn't too familiar with Next and Vercel (having primarily used Nuxt, the Vue equivalent), it's helpful for me to know what's going on in the React world. Discussions like the above are actually helpful in terms of helping people choose between the various frameworks and hosts.


I don't use nextjs because it's a steaming pile of unmaintainable black-box shit.

The CEO's politics are just icing on the cake.


that is your opinion, and is irrelevant to the choice. practically, vercel is a company which is heavily invested in react and react's future, so, they need to be present.

moreover, this entire initiative looks like a way to reduce vercel's influence, so if you want to be mad, then be mad in 5 yrs, not now.


Like Microsoft was invested in Web standards in the ie6 days... for their own interests. To own it.


Like chrome is doing nowadays


> vercel is a company which is heavily invested in

…people paying for react.

Which is fair, but do we have bend knee and suggest they have the best interests of the react ecosystem at heart? They don’t.

They are invested in: people using next.js and hosting it on vercel.

If that’s not what you’re doing, their interests probably don’t align with yours.


It is also my opinion that 5 years from now Vercel will be out of business and their customers will have moved on the next hype driven VC cash laundry.


Why is NextJS a pile of garbage?


It’s VC funded, overengineered crap, specifically designed to push people into using their overpriced hosting.

I hope this isnt the way that React as a whole will go in the end.

But fortunately there are enough alternatives about.


If there is only one thing you take from my post, then look up "NextJS middleware auth bypass" or something along those lines. Have fun reading about that and then never touch NextJS or anything Vercel ever again.

I won't repeat what the sibling poster said, but I can tell you, I've been using NextJS from v12-v15 and in that time we've had:

- The catastrophic (and, at the time, UNDOCUMENTED) "aggressive, opt-out caching of all fetch calls", which confused the living daylights out of everyone who suddenly couldn't retrieve updated data from their servers. Like, don't override a native JS function that's supposed to work in an expected way, with black-box magic that adds caching behaviour that then needs to be overriden _per route_ with directives on each route. Cache headers can be added to fetch calls and are easy to configure globally via axios if needed. If you're going to do black magic, call it "nextfetch" or something

- The app router / page router transition was shockingly badly handled, with so much missing documentation around dynamic routes

- I don't know how many different ways of fetching / setting metadata / <head>-related techniques I've had to learn by now. It seems to change all the time. BUT, that isn't the worst part....the worst part was / is:

- You couldn't, for the longest time, fetch metadata for a page without duplicating fetch requests. I think this is where their fetch-deduping thing came from. But again, black-box magic on a native JS function with very inconsistent behaviour, so for a while, all pages in our app just had to make two fetch calls per page that needed specific metadata added to the <head>

- Vercel as a platform not allowing to set billing limits (have fun with your DDoS that they don't recognise as such)

- Middleware is one file. That's what you get. No chaining, nothing. One god-function for everything. Just think about the anti-pattern that is

- I don't know whether it's clever or terrible, but if you want to add a sitemap, you do so by defining a route by creating a folder called sitemap.xml (yes, a directory), where you then put your route.ts which is in keeping with the way the new router should work. But somehow it just doesn't sit right with me. Folders with file extensions. But it also adds a lot of ability to make the sitemap highly customisable and dynamic, so maybe it's ok

- You suddenly needed to start awaiting url params, cookies, etc. which is sort of fine, but was a huge change causing warnings all over the compiler for months and months

Anyway, those are just a few things off the top off my head. I already find React to be quite counter-intuitive and non-deterministic, but NextJS just adds a layer of pain on top with very, very few advantages.

I am dying to get my hands on an alternative, but also don't want to rebuild all of the apps I built when I was still optimistic about NextJS.


For those lazy to search:

CVE-2025-29927 – Authorization Bypass Vulnerability in Next.js: All You Need to Know

https://jfrog.com/blog/cve-2025-29927-next-js-authorization-...


As a mostly-backend dev I stumbled across the "metadata in <head>" issue in my first hour of using NextJS for a toy project.

I kept wondering if there's something wrong with me or if a framework recommended in so many places can really be this shitty, until I read your comment.


Oh man I forget about their "middleware".

Whoever implemented that has no idea how middleware is supposed to work.


I'd just ask an AI model to move everything over to TanStack Start and see if it works


And what do you do next when it doesn't?


Do it by hand like the olden days of yester-last-week before Sonnet 4.5?


By hand? Ok Grandpa.

I only vibe code in my Metaverse open office by thinking with my Beta NeuralLink.


I tried that once. Had to downgrade my brain firmware to get syntax highlighting back.


Then just migrate like a normal person?


- fragile under load and very difficult to debug SSR issues

- inconsistent behavior between hosted and self hosted versions of the same code

- horrible build times, like laughably bad multi-minute builds for trivial code bases

- crappy directory based routing system with lots of weird gotchas

- schizo identity JAMstack -> serverless -> ssr -> now its microvms + ai

- multiple hilariously long running GH issues where the dev team is thrashing around trying to debug their own black box framework

- "framework" that barely provides any of the primitives necessary to build web apps

- major breaking changes around core features like routing that require painful migrations

- general sloppiness, churn, and insecurity that comes from being part of the nodejs ecosystem

Thats not even getting into all of the shady patterns vercel uses to lock you into their overpriced hosting.

I've been a part of multiple teams that decided to build apps using NextJS, and while the FE is not my responsibility I typically got pulled in to help troubleshoot random issues. It was a complete waste of time in almost every case, and in one case resulted in the entire FE team being let go because they were unable to ship anything on time.


Yeah matches my experience. It’s just so much complexity just to get SSR. I’ve worked at places that used it for b2b SaaS apps with no public web part, so the SSR is just a big liability… whyyyyy


I use it for my web site where SSR is critical for SEO. For app development I don’t use Nextjs. I think it is designed for web sites (as opposed to web apps) and it is great for this purpose


yep this is how i use it and it has worked out really great...sometimes i wonder what people try to do that they have all these issues


Reminds me of VC backed framework Meteor that was attempting to do full stack JS and collapsed under its own tech debt.


I think Meteor is finally starting to fully overcome the tech debt from the second half of the last decade. They're in a recent Node.js release, and the next version will integrate a modern bundler (Rspack) in its tooling.

Lots of apps are still stuck in Meteor 2.x hell because of the dependency on Fibers though.


I'd honestly love to use something that delivered on Meteor's goals. Next.js ain't it though lol.


I was pretty involved in their stack back in the day, it was a good alternative to Django at the time for simple plug and play admin apps, and to this day i think they had the simplest OAuth setup of any framework I've used.

The real issues were the super tight coupling with MongoDB and their decision to roll their own package ecosystem instead of just using npm from day one.


Not to mention their braindead decision to aggressively cache everything as much as possible, which they're now trying to undo, but still haven't shipped.


Try Astro my friend. React SSR with none of that next bs


Used Astro for a pro bono project. Found it fantastic, well documented, provides solutions for the hard parts, gets out of the way for the easy parts. Documentation is well written, but I find I don't need it much because mostly it works how I would expect.


Astro is not tied to React. You can choose your framework.


You lost me at React SSR. That is part of the complexity bs. React is a lib for mapping state to the DOM. There's no DOM on the server. So React on the server is 95% useless for that purpose and hence, overengineered to create a bit of HTML and send it down the wire.

I like the simplicity of Hono and use their html helper to write good old HTML that is send to the client.


You can render html with astro without react. Plain old html templates with options


how do you manage the application state with Hono? I saw their home page and it didn't mention anything about it.


Hono is a server-side framework like Express. So same way like you handle application state in most server-side multi-page web apps: You just fetch whatever you need from the DB per request.

"State management" really isn't that much of an issue on the server. Only on clients, when you need to map state changes to DOM updates.


This is the vercelization of react peeking through, that people even associate react with ssr is an anti-pattern.


I've heard good things, what would you say is the killer reasons to justify being the nodejs ecosystem vs something more purpose built for ssr like php?


As easy as php for simple stuff. And can do complex SPA stuff.


I've been building loads of stuff with it for years and never experienced any of this. Sounds like a YOU problem.


multiple other comments sharing my experience and expanding on it.


If its so crappy how's it so popular?


The core React documentation explicitly points you to nextjs and says "this is how you should build react apps."


I mean, that's good enough for me.


They spend a lot of money on marketing.


I know Vercel has their fingers in a bunch of pies, but is there any significant vendor locking? I worked at a place where we just put nextJS in a docker container and hosted it ourselves, but maybe we would have got more on Vercel?


Try to scale Next.js globally. Try to keep up to date with new versions, changes in paradigms and the way the output is rendered.

It's designed to be deployed on Vercel. Production-ready hosting part of the Framework is not Open Source nor well documented.

https://github.com/vercel/next.js/discussions/59167 https://www.netlify.com/blog/how-we-run-nextjs/


I migrated https://cartes.app from Vercel to Dokploy, everything is good and simpler.


running nextjs in docker is notoriously bug prone, there are multiple GH issues about this with no real resolution

the official recommendation we got was to just run it on vercel

I would go as far to say that nextjs is not self-hostable in its current state if you expect high traffic and low latency.


They have neglected many issues which would help on self-hosting until the public cry was big enough.


I often read that Next.js sucks. Meanwhile I and many other devs I've spoken to IRL find it does what we need it to do without any issues. Ya'll just some haters.


Just because you didn’t see the issues other people are encountering, everybody else’s experiences are invalid?


I'm saying the impression you'd get of Next from this thread is that it literally does not work. It works fine.


For all my criticisms of it, I built two commercial apps in it. I worked around the issues and it was fine.

I've also built commercial apps in other stacks and they also have their warts.

What I've noticed from the other stacks, however, is that the frequency of entirely unnecessary issues is simply lower. React and NextJS aren't going anywhere and one can hope that these things will improve over time.

Ultimately, it's also a great employment guarantee, as companies will need people to maintain the apps that are constantly changing.

I think applying scepticism to Vercel and its motives is healthy, still.


See the various other comments for concrete examples of why nextjs sucks and the team at vercel is incompetent when it comes to auth, middleware, caching, and just generally maintaining a usable framework without brutal migrations and api breakages.

They have made egregious mistakes that go far beyond "move fast and break things" and well into "we should have the lawyers join this call".


Built 4 commercial projects with it now. Not had these issues.


I've had great experiences with NextJS.


Also their CEO's picture with Bibi is showing their values


Whoah. Wasn't aware that Guillermo Rauch openly embraces Benjamin Netanyahu


The people with money don't care, as the very next day Vercel got a series F. That is funny tho because I remember him being pretty anti-israel back in our High school on the long defunct semi-official foropelle.com.ar he owned and managed.

He is a programming prodigy, and that's it. Not a nice person.

Nevertheless, my anecdote should only be taken with a grain of salt... After all, the only person that probably has backups of foropelle is Rauch himself. And who cares what a teenager had to say back in 2006?


Maybe is not that they don't care about it. Maybe it was a REQUISITE to get that founding round.



Oh, I see. So this critique of Vercels' tech is at least somewhat influenced by politics, rather than tech.


Not at all, they are two different critiques.

1. Vercel / Next are complete technical trash wrapped in egregious vendor lock-in. This directly influences their desire to steer the react foundation in a direction that aligns with their roadmap for Vercel/Next.

2. Their CEO thought it would be a good idea to have a photo op with perhaps the most controversial figure in world politics. This just means he's not nearly as smart as he thinks he is and likely needs a handler.


[flagged]


It's a discussion about Vercel and he's the CEO.

If he didn't want political commentary being brought into discussions about the company he leads he should have used his big CEO brain to determine that a photo op with a highly polarizing fascist world leader is not a good look.


[flagged]


the very definition of genocide is international law. that is a political definition. that is a fact.

i do not care about what those 2 idiot nations do.


What's a red flag is that there are 3 new accounts commenting on this reply and all are in agreement supporting your view.

Edit: apparently there's some confusion about my comment. I neither use, like, or support Next. I just found it suspicious that a bunch of new accounts showed up making generic comments in support of OP, which to me was a red flag.


Old account. Not with the same words but I share concerns on Vercel's involvement, even if it's not a new thing.


Old account here too, sharing my concerns about Vercel's involvement too


Old account here. I've had good experiences with NextJS though I didn't use like allll features for sure.


Old account here, in support of the GP's view.


Maybe people are afraid to speak up? I've gotten a fair bit of backlash on my negative complaints about NextJS on Reddit, someone even necro-posting on a months old reply then continuing "debating".

I think a somewhat neutral summary (of someone still annoyed by Vercel/Next) would be like this (Notice the distinctions between Site and App, not always clear cut but a dividing line imho):

- React was created by FB to solve real technical issues as their frontend became larger and more complex.

- Site creators liked it as it was one of the solutions of a real issue of reconcilliation of state and view (that often wasn't so bad in the big picture) but React was often a bit heavyweight, App creators really loved it as state reconcilliation took away that entire class of bugs that just became so much worse quickly as Apps grew (and React allowed for more people to create larger apps).

(Angular and Vue has always done this also, they are parallel developments)

- Pressure from those doing sites has always pushed development of React to be "simpler", often good for most parties (even if I think that Redux was mostly thrown overboard prematurely).

- Part of simplifications was bootstrapping, create-react-app became one of the recommended ways to start projects (and was also incorporated into other toolchains such as .NET templates)

- Heavy builds, disabled JavaScript and SEO issues was teetering issues (especially for public site builders), not entirely sure of the inspirations but Next did solve that (perhaps not always entirely elegantly initially)

- React internals start to change to better support these scenarios, nobody really has objections since changes in React has seldomly been for the worse (functional components, hooks, etc). Vercel gains traction as a "do-good" choice.

- After all troubles of OpenSSL, Node finally adopts OpenSSL 3.0 thus breaking create-react-app that had been "deprecated" by the React team (it's easily shimmable but it sent people looking).

- People looking for options find that the only "official" way to use React according to the site is to use Next, so many start adopting it out of fear of being left behind again.

- The Next model however is quite different and tailored to "site" builders and/or people running the full stack in JS

- React however is quite popular outside of the JS only world for enterprise SPA and/or mobile apps where trying to shoehorn in a Next "frontend-backend" becomes overkill and extra complexity. (We used it for one or two projects but have now abandoned it for our regular work).

- The React site is updated slightly, Vite and similar are now mentioned but the perception damage is there and hasn't let go (and last I checked using f.ex. Vite was not "recommended" as being an inferior option to Next for React usage)

- A very popular option for CSS-in-JS (styled) becomes deprecated due to React internals changing for Next and requiring significant rework that the original author had no interest in (no really clear successor with support across the board for Next, SPA and React-Native scenarios hadn't appeared last we checked).

Now this is my perception of events and I'm pretty sure that I'm not alone in this, the Next/React authors felt like it was the way forward due previous feedback for those that hurt (site builders) but probably misjudged or didn't appreciate how much React was used in other workloads(apps) that got disturbed while they were improving their thing.

That Vercel has managed to alienate people in other ways like billing (or politics?) certainly doesn't seem to have helped either.


> The React site is updated slightly, Vite and similar are now mentioned but the perception damage is there and hasn't let go (and last I checked using f.ex. Vite was not "recommended" as being an inferior option to Next for React usage)

The React site recommends a full-stack framework for most users getting started, but Next, React Router v7, and (for native apps) Expo are all highlighted options, and two other additional frameworks are also described as up-and-coming options.

The site also describes a from-scratch options for “if your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app”, with specific instructions for Vite, Parcel, and RsBuild.

There's a legitimate debate to be had, I guess, about the whether the getting started should be optimized toward the lowest-distraction approach to learning basic React or toward what is expected to be the most common production use case, but they seem currently to have decent coverage, concerns about order of presentation aside, of a range of options.


> The site also describes a from-scratch options for “if your app has constraints not well-served by existing frameworks, you prefer to build your own framework, or you just want to learn the basics of a React app”, with specific instructions for Vite, Parcel, and RsBuild.

Just that before those specific instructions is again a big "deep dive" box that recommends "consider using a framework".

And yes, I can get the arguments about a easy to get started focus but React is also a more foundational library that has many uses outside of frameworks. Should cppreference.com recommend using QT or MDN and Node.js homepages recommend using Next because "it's easier to get started" ? sure, a tad hyperbolic examples but on the same par.


> People looking for options find that the only "official" way to use React according to the site is to use Next

I thought I dreamt (nightmared?) this, but it happened? Hoe did they pull it off?


My experience is that a lot of people on this forum are afraid to voice negative opinions on tools they use at work.

Seen a lot of people in my professional circles shit on Next/Vercel over beers, but then go to work every day and bang out Next because it's what their manager chose 5 years ago.

Vercel can only ride that wave until the people who hate their product are the decision makers.


I could definitely have written that but my account is not that old too.


Been here seven years. Next is hot garbage and you couldn't pay me enough to work with it.


i make throwaways on this site regularly and use them until i say something to piss dang off and get shadowbanned.

your comment would be a lot more interesting if you attempted to pose a counterpoint besides "BOT!".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: