{"slug": "opennext", "name": "OpenNext", "category": "infra", "category_name": "Infrastructure and DevOps", "description": "", "recommenders": 3, "commenters": 8, "warners": 1, "score": 2.64, "rising": -0.98, "first": "2025-12-01", "latest": "2026-04-19", "why": "It's gotten a lot better since last year with OpenNext", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 4, "compare": 0, "warn": 1}, "spark": [0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "It's gotten a lot better since last year with OpenNext", "kind": "", "icon": true, "domain": "js.org", "github_repo": null, "official_url": "https://opennext.js.org/", "pricing": "", "aliases": ["OpenNext"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 755601601, "item_id": 47225100, "url": "https://news.ycombinator.com/item?id=47225100", "by": "bgwhn", "date": "2026-03-02", "version": null, "stance": "recommend", "quote": "including those provided by OpenNext", "excerpt": "Thank you for sharing your experience with Next.js, even though you eventually ended up moving off. > Waiting on Turbopack: Our initial local route loads took 10 to 12 seconds under the full weight of the App Router and RSCs. Out of curiosity, were you on Next 16.0 or 16.1? We shipped file system caching in 16.1 that greatly improves the initial route loads. https://nextjs.org/blog/next-16-1#turbopack-file-system-cac", "context": "", "use_case": "", "switched_from": "", "story": "Next.js 16 vs Tanstack Start (2026): Performance, Memory Leaks and Migration"}, {"id": 746508369, "item_id": 46656773, "url": "https://news.ycombinator.com/item?id=46656773", "by": "NicoJuicy", "date": "2026-01-17", "version": null, "stance": "recommend", "quote": "why there is OpenNext", "excerpt": "So it is vendor locked by Vercel. That's why there is OpenNext - https://opennext.js.org/", "context": "", "use_case": "", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 746386704, "item_id": 46649169, "url": "https://news.ycombinator.com/item?id=46649169", "by": "jamieatlason", "date": "2026-01-16", "version": null, "stance": "recommend", "quote": "It's gotten a lot better since last year with OpenNext", "excerpt": "It's gotten a lot better since last year with OpenNext. Last I tested was Next.js 15 though. Who knows what Vercel has broken with Next.js 16. https://opennext.js.org/cloudflare", "context": "", "use_case": "Deploy Next.js to Cloudflare", "switched_from": "", "story": "Astro Joining Cloudflare"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 765214258, "item_id": 47825891, "url": "https://news.ycombinator.com/item?id=47825891", "by": "dev360", "date": "2026-04-19", "version": null, "stance": "warn", "quote": "I was doing OpenNext with sst.dev on AWS but it started feeling annoying.", "excerpt": "For a lot of folks, I think its ease of deployment when using Next.js. I switched to astro, also doing a lot of cloudflare at the moment. Before that, I was doing OpenNext with sst.dev on AWS but it started feeling annoying.", "context": "", "use_case": "", "switched_from": "", "story": "Vercel Says Internal Systems Hit in Breach"}]}], "who": [], "tags": [], "use_cases": ["running next.js on cloudflare", "deploy next.js to cloudflare"], "compared": [{"slug": "next-js", "name": "Next.js", "co": 6, "switched_from": 0, "switched_to": 0}, {"slug": "astro", "name": "Astro", "co": 1, "switched_from": 0, "switched_to": 1}, {"slug": "sst", "name": "SST", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "cloudflare", "name": "Cloudflare", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46646645", "title": "Astro Joining Cloudflare", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47824976", "title": "Vercel Says Internal Systems Hit in Breach", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47217978", "title": "Next.js 16 vs Tanstack Start (2026): Performance, Memory Leaks and Migration", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47142156", "title": "How we rebuilt Next.js with AI in one week", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47046414", "title": "Show HN: Donation.watch \u2013 open-source political finance tracker (AGPL/CC-BY)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46200562", "title": "Open sourcing the Remix Store", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {"neutral": 2}, "2026-01": {"recommend": 2}, "2026-02": {"neutral": 2}, "2026-03": {"recommend": 1}, "2026-04": {"warn": 1}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 765214258, "item_id": 47825891, "url": "https://news.ycombinator.com/item?id=47825891", "by": "dev360", "date": "2026-04-19", "version": null, "stance": "warn", "quote": "I was doing OpenNext with sst.dev on AWS but it started feeling annoying.", "excerpt": "For a lot of folks, I think its ease of deployment when using Next.js. I switched to astro, also doing a lot of cloudflare at the moment. Before that, I was doing OpenNext with sst.dev on AWS but it started feeling annoying.", "context": "", "use_case": "", "switched_from": "", "story": "Vercel Says Internal Systems Hit in Breach"}, {"id": 755601601, "item_id": 47225100, "url": "https://news.ycombinator.com/item?id=47225100", "by": "bgwhn", "date": "2026-03-02", "version": null, "stance": "recommend", "quote": "including those provided by OpenNext", "excerpt": "Thank you for sharing your experience with Next.js, even though you eventually ended up moving off. > Waiting on Turbopack: Our initial local route loads took 10 to 12 seconds under the full weight of the App Router and RSCs. Out of curiosity, were you on Next 16.0 or 16.1? We shipped file system caching in 16.1 that greatly improves the initial route loads. https://nextjs.org/blog/next-16-1#turbopack-file-system-cac", "context": "", "use_case": "", "switched_from": "", "story": "Next.js 16 vs Tanstack Start (2026): Performance, Memory Leaks and Migration"}, {"id": 754344499, "item_id": 47146531, "url": "https://news.ycombinator.com/item?id=47146531", "by": "srameshc", "date": "2026-02-24", "version": null, "stance": "neutral", "quote": "hopefully they will make it easier with OpenNext", "excerpt": "I love Cloudflare but not a big fan of Next, I love Remix though :) But getting to make things work on Cloudflare is a pain, hopefully they will make it easier with OpenNext. On the other hand , maybe they can do something better at infrastrucute level , rather than make it easier, like a lot easier to bring your own JS flavor.", "context": "", "use_case": "running Next.js on Cloudflare", "switched_from": "", "story": "How we rebuilt Next.js with AI in one week"}, {"id": 752742690, "item_id": 47046418, "url": "https://news.ycombinator.com/item?id=47046418", "by": "numdefined", "date": "2026-02-17", "version": null, "stance": "neutral", "quote": "Moving Next.js to the edge (using OpenNext) combined with a purely static data model means the site is cheap to host", "excerpt": "Hi HN, I\u2019m the creator of donation.watch. I built this tool over the years primarily for myself. I had some questions about political finance flows that were impossible to answer just by staring at the raw tables published by governments. I needed a way to visualize the insights for my own curiosity. Since the result was useful, I polished it up and published it so everyone else can explore the data too. The Architec", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Donation.watch \u2013 open-source political finance tracker (AGPL/CC-BY)"}, {"id": 746508369, "item_id": 46656773, "url": "https://news.ycombinator.com/item?id=46656773", "by": "NicoJuicy", "date": "2026-01-17", "version": null, "stance": "recommend", "quote": "why there is OpenNext", "excerpt": "So it is vendor locked by Vercel. That's why there is OpenNext - https://opennext.js.org/", "context": "", "use_case": "", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 746386704, "item_id": 46649169, "url": "https://news.ycombinator.com/item?id=46649169", "by": "jamieatlason", "date": "2026-01-16", "version": null, "stance": "recommend", "quote": "It's gotten a lot better since last year with OpenNext", "excerpt": "It's gotten a lot better since last year with OpenNext. Last I tested was Next.js 15 though. Who knows what Vercel has broken with Next.js 16. https://opennext.js.org/cloudflare", "context": "", "use_case": "Deploy Next.js to Cloudflare", "switched_from": "", "story": "Astro Joining Cloudflare"}, {"id": 740000817, "item_id": 46250051, "url": "https://news.ycombinator.com/item?id=46250051", "by": "hmokiguess", "date": "2025-12-12", "version": null, "stance": "neutral", "quote": "I often deploy it using OpenNext and SST in AWS.", "excerpt": "On your last point, could you elaborate? I have been using Next.js for a long time and I have never once interacted with Vercel. What soft lock-in are you referring to? I often deploy it using OpenNext and SST in AWS. Curious to how much is just good marketing on their side and how much is maybe features of it I don\u2019t know that are \u201cvercel native\u201d", "context": "", "use_case": "", "switched_from": "", "story": "Open sourcing the Remix Store"}, {"id": 737823634, "item_id": 46113977, "url": "https://news.ycombinator.com/item?id=46113977", "by": "MaxLeiter", "date": "2025-12-01", "version": null, "stance": "neutral", "quote": "the fact that OpenNext can exist speaks to the opposite", "excerpt": "I think the fact that OpenNext can exist speaks to the opposite A Next.js project can be deployed to a Docker image very easily [1]. If you want to use a provider that has their own infrastructure setup, then yes you need to do some work (that OpenNext does for you). But that's true of practically any framework deploying to a host that does more than just serve the docker container. [1]: https://nextjs.org/docs/app/g", "context": "", "use_case": "", "switched_from": "", "story": "How we built the v0 iOS app"}]}