[HN Gopher] Things I learned from 5 years at Vercel
___________________________________________________________________
Things I learned from 5 years at Vercel
Author : gk1
Score : 115 points
Date : 2025-07-11 13:00 UTC (10 hours ago)
(HTM) web link (leerob.com)
(TXT) w3m dump (leerob.com)
| anupj wrote:
| Love this: 'Passion without boundaries leads to burnout.' The
| hardest lesson in tech isn't shipping fast or scaling--it's
| learning when to actually go home. Sustainable output beats
| heroics every time
| purple_ferret wrote:
| Sort of conflicts with the other points though, which basically
| sum up to "Be a 10X developer or die trying"
| scrubs wrote:
| The whole thing is affirmational in the jacket of happy
| warrior. Self consistency was never the point.
| layer8 wrote:
| The conflict is resolved by realizing that points 2 and 3
| aren't valid.
| srhtftw wrote:
| Seek patience and passion in equal amounts. Patience
| alone will not build the temple. Passion alone will
| destroy its walls. - Maya Angelou
| fizk wrote:
| One of the best, or maybe the best, coding presenter I've ever
| come across on youtube.
| leerob wrote:
| Thank you!
| TimMeade wrote:
| Well written Lee; and 100% on point. So very true. Much thanks
| for moving the needle and good luck on what's next.
| nilirl wrote:
| I've never worked at a startup that hit it big, so I came in
| wanting to disagree with whatever was in this post.
|
| But I liked it. Now I'm mad.
| huksley wrote:
| Leerob, thank you for your patience and help on Reddit community!
| The NextJS gets a lot of criticism these days but you helped a
| lot of people, with self-hosting NextJs and other tricky
| questions.
| CharlieDigital wrote:
| Jumping onto a Next.js project right now that has no reason to
| have SSR. The code is now excessively complex, difficult to
| detangle, and I can't believe how bad the local DX is on a cold
| start on an M1 MBP. It's _so slow_ ; every nav is agonizing.
| Maybe it's how this is configured, maybe it's some other issue,
| but I definitely didn't encounter this with OOB stock Nuxt.js
| and of course, this project is an app that has no reason nor
| benefit for using Next.js.
|
| No idea how Vercel scammed so many people. Founder paid an
| annual contract of $##,### to Vercel for what should be a
| freely hosted static web app + freely hosted (within credit
| boundaries) backend in a serverless container (e.g. Google
| Cloud Run, Azure Container Apps, etc.)
|
| A complete scam.
| miyuru wrote:
| I guess the branding and marketing worked.
|
| Last time I checked Vercel was just reselling services of
| AWS.
| CharlieDigital wrote:
| > I guess the branding and marketing worked.
|
| Indeed; I remember watching one of their tech sessions
| around the Next.js 12 to 13 release and then watching a
| Microsoft one. One was very clearly a marketing ad.
|
| We shortly ditched Next.js afterwards because of how janky
| the whole DX was the entire time and how much worse it was
| during the transition.
|
| Now I'm back in a Next.js 15 project and it's amazing that
| the DX somehow feels even worse!
| sunaookami wrote:
| They introduce a lot of shiny half-baked features while
| abandoning old ones.
| c-hendricks wrote:
| Hey that's short selling them, they also managed to make
| HTTP middleware not work like you'd expect in nextjs which
| has some arcane advantage when hosted on Vercel.
| huksley wrote:
| NextJS now is unecessary complex, and there are things to
| avoid to make sure everything works fine.
|
| I am not sure why it is so slow for you, maybe you you can
| try run this boilerplate (work in progress to make it easy to
| use)
|
| https://github.com/wizecore/boilerplate-saas/
|
| It uses Pages router, comes with local postgres, redis and
| AWS sqs emulator. No docker, no cloud needed for it to work
| locally.
|
| Such setup is crazy fast on my mbp m2 pro.
| leerob wrote:
| You don't have to use SSR:
| https://nextjs.org/docs/app/guides/static-exports
| CharlieDigital wrote:
| Yes, of course, it has SSG and ISR as well, but then you
| are overall better off with something else like a VitePress
| for fully static, React + Vite if you still want React and
| build a static app, or use Astro.js if you need some client
| side reactivity.
|
| Next.js is a lot of marketing for a terrible product.
| leerob wrote:
| Thank you, I appreciate that.
| zappodobbo wrote:
| Vercel raised $563M so far. Where do you think you guys would
| have been if you had bootstrapped?
| alberth wrote:
| Especially given that it's hosted on AWS.
|
| (Reminds me of Heroku back in the day as being another
| "hosting" sold & layered on top of AWS)
| cyanf wrote:
| leerob is so active in the space that I didn't realize until
| reading this that he isn't Vercel's founder.
| gdbsjjdn wrote:
| Plane with holes in wings returns to base, encourages engineers
| to reinforce wings to prevent holes.
| ashwinsundar wrote:
| I am not impressed with Next.js or Lee's evangelism (yes, in the
| religious sense) of their platform. Being forced to develop in
| Next.js for a major project was the last straw, and convinced me
| to abandon the Javascript/Typescript/Node.js ecosystem entirely
| for future web projects (where I have the choice). Dev-fluencers
| and Next.js evangelists who gish-gallop and provide
| (non)-responses to serious developer problems with Next.js
| convinced me that Vercel is building an elaborate cash grab, on
| the enterprise scale, and securing vendor lock-in for many years
| to come. Don't tell me that Next.js is easy to deploy in Docker
| either - it's not, I wrestled with that implementation for months
| and it was fragile/broken in a way that I suspect a native
| Vercel-deployment is not.
|
| The current stack I'm using is Django/Python, HTMX, Alpine.js,
| and TailwindCSS. Yes I know the middle two use Javascript under
| the hood, there is no way around that for client interactivity.
| But they do support the HATEOAS principal
| (https://en.wikipedia.org/wiki/HATEOAS) which has been a breath
| of fresh air imo. The book "Hypermedia Systems" is also a great
| way to achieve the mental reset needed to abandon modern web
| frameworks and go back to things that actually work, in terms of
| web development.
| vevoe wrote:
| I'm not saying that Next.js is good or bad but we deploy our
| Next.js app in a docker container and it's never been an issue.
| I'm curious what issues you had?
| ashwinsundar wrote:
| It's been a year since I was on the project and have since
| forgotten. I remember it being related to configuring
| security and middleware with the granularity required by a
| high-security client. There were other things too that were
| very hard to configure as soon as you stepped off the
| Dockerfile template provided by Next.js documentation.
| sunaookami wrote:
| Next.js has many weird bugs and things that just... don't work
| and when you hit these edge cases and a >5 year old open GitHub
| issue you know you will spend the next two weeks searching for
| another way or just abandoning it because it doesn't work. Got
| burned out hard by Next.js while rewriting a very old project -
| it worked in the end and I was proud of it but just using
| something... simpler would've been better. Deploying Next.js
| outside Vercel is hell, too...
|
| Also tried SvelteKit (with Svelte 4) which was quiet nice but
| it completely misbehave in production with a lot of corner-case
| bugs that were not reproducable in development and I abandoned
| it for good. Didn't the creator of Svelte even joined Vercel?
| They seem to want to "unite" all the JS frameworks "under one
| roof" which I find a bit... disturbing?
| ashwinsundar wrote:
| Nuxt joined Vercel earlier this week too -
| https://vercel.com/blog/nuxtlabs-joins-vercel
| daxfohl wrote:
| I'd add, if feature A can't be shipped 10x faster, ask the same
| question about features B, C, and D and then redo your ROI
| calculations, before deciding to invest in feature A.
|
| That keeps the team consistently delivering and motivated, and
| gives you more time to think about feature A. Some features are
| really important to get right and take the appropriate time, and
| some are just important to ship. Having that distinction explicit
| allows the team to maintain good shipping velocity without
| accruing "high interest" tech debt.
|
| Also there's obviously no single correct ratio here. Newer
| companies, services, teams, products will probably lean toward
| shipping fast since architecture is still being defined (and too
| much architecture could be more detrimental than tech debt / too
| little architecture, if it doesn't match future requirements),
| whereas more mature ones will be more willing to sacrifice
| shipping velocity for better fit with the existing domain model.
| sm00thbr41n wrote:
| > radical deadline compression
|
| lol
| udkl wrote:
| This is a good writeup, but the VP learnings/mistakes (#3, 4 and
| 5) honestly felt pretty amateur mistakes for any leadership
| position ... even for just a junior managerial role. It's a good
| thing they were able to learn on the job, but the team could have
| used a more seasoned leader - or the author could have had more
| pre-training/coaching.
___________________________________________________________________
(page generated 2025-07-11 23:01 UTC)