Cloudflare recently released vinext, an experimental reimplementation of Next.js built on Vite rather than Turbopack. The project was developed by one engineer over roughly one week, using AI, at a cost of $1,100 in API tokens. In addition, the company positions it as a drop-in replacement for Next.js optimized for Cloudflare Workers, though it explicitly labels the project experimental and untested at scale.
Early benchmarks look promising but come with caveats. On a 33-route test app, production builds finished in 1.67 seconds using Vite 8’s Rolldown bundler versus 7.38 seconds for Next.js 16 with Turbopack. That’s 4.4x faster. Client bundles also shrank from 168.9 KB to 72.9 KB gzipped, a 57% reduction. But Cloudflare warns these numbers are “directional, not definitive” since they’re based on one test fixture, not real-world production apps.
(Source: Cloudflare blog post)
The Cloudflare engineer who led development, Steve Faulkner, describes the workflow in the blog post: spending the initial hours with Claude in OpenCode to define the architecture, then iterating through tasks in which AI wrote implementations and tests. When tests passed, code merged. When they failed, AI received error output and iterated. Over 800 AI sessions produced most of the code, but every line passes quality gates: 1,700+ Vitest tests, 380 Playwright E2E tests ported from Next.js’s own test suite, TypeScript checking, and linting.
vinext implements the Next.js API surface, routing, server rendering, React Server Components, server actions, caching, middleware as a Vite plugin rather than wrapping Next.js output. This allows it to run on any platform supporting the Vite Environment API, though Cloudflare Workers is the primary deployment target. The company claims roughly 95% of the codebase is platform-agnostic Vite code.
Deployment to Workers requires one command: vinext deploy. Both App Router and Pages Router work with full client-side hydration. For caching, vinext includes a KV cache handler for ISR (Incremental Static Regeneration). Live examples include an App Router playground, a Hacker News clone, and CIO.gov, a U.S. government beta site that National Design Studio is running in production.
A significant limitation: vinext doesn’t yet support static pre-rendering at build time. Next.js pre-renders pages during next build using generateStaticParams(). vinext only supports ISR, caching and revalidating pages after the first request. Static pre-rendering is on the roadmap.
Cloudflare proposes an alternative called Traffic-aware Pre-Rendering (TPR), currently experimental. TPR queries Cloudflare’s zone analytics at deploy time and pre-renders only pages receiving actual traffic. For a site with 100,000 product pages where 90% of traffic hits 50-200 pages, those get pre-rendered while the rest fall back to on-demand SSR. This only works for sites already on Cloudflare’s network with existing analytics.
Community reaction has raised concerns beyond the quality of implementation. On Reddit’s r/vibecoding forum, developers questioned the maintainability implications as one respondent commented: “That last bullet just kind of casually admits that the code is unmaintainable by humans,” referring to Cloudflare’s claim that AI doesn’t need intermediate abstractions because it “can hold the whole system in context.” Another pointed out:
A week means no one has actually gone through the code, or I should say, no human has.
Reaction on Hacker News echoed similar skepticism. One commenter noted the documentation paradox:
The better you document your work, the stronger contracts you define, the easier it is for someone to clone your work. There’s no way Cloudflare could have pulled this off without Next’s very own tests.
Others pointed out that Vite does the heavy lifting:
Something like 95% of vinext is pure Vite,” one commenter wrote. “The real achievement is human-built Vite.
The project’s experimental status is a major caveat. As Cloudflare’s blog post acknowledges:
vinext is experimental. It’s not even one week old, and it has not yet been battle-tested with any meaningful traffic at scale. If you’re evaluating it for a production application, proceed with appropriate caution.
The README lists what’s explicitly not supported and known limitations. Cloudflare is working with other hosting providers to adopt the toolchain; they deployed a proof-of-concept to Vercel in under 30 minutes, the project’s long-term viability remains uncertain.
For developers interested in testing, vinext includes an Agent Skill for migration that works with Claude Code, OpenCode, Cursor, and similar tools: npx skills add cloudflare/vinext. Alternatively, npx vinext init handles manual migration.
