Deploy Next.js 16 to Cloudflare Workers with OpenNext: The 2026 Migration Playbook
Ship Next.js 16 on Cloudflare Workers with the @opennextjs/cloudflare adapter. Bindings, KV cache, images, Postgres pooling, and honest cost math vs Vercel.
We're Next.js Launchpad, a working notebook from a team that ships App Router production apps for retailers, SaaS founders, and fintech back offices. We don't repackage the Next.js docs — we publish the migration diffs, the cache traces, and the Vercel bills that the docs leave out. Every tutorial here starts from a real repo we maintain, not a sandbox.
The jump from 14 to Next.js 16 changed the defaults around caching, fetch memoization, and the long-awaited stable Turbopack build pipeline. Our upgrade walkthroughs cover the codemods worth running, the ones worth skipping, and how to interpret the new cacheLife primitives now that the implicit fetch cache is gone. We also document the React 19 use() migration paths and the React Server Components patterns that finally became safe to rely on once Suspense streaming stabilized.
If you're stuck on Pages Router because of a 2022-era auth library, we have side-by-side rewrites showing how to land an incremental App Router migration behind a feature flag without forking your middleware. We track the vercel/next.js discussions weekly so you don't have to.
Most App Router tutorials stop at page.tsx and a fetch call. Our team focuses on the harder questions: where should auth live when half your routes are static and half are dynamic, how do you compose parallel routes for a real dashboard, and what does a sensible Server Action retry policy look like when the user has a flaky train Wi-Fi connection. We share the layout trees we actually run, including the error.tsx and not-found.tsx boundaries that catch the failure modes you only discover at 3am.
You'll find deep-dives on Suspense streaming with the Streams API, partial prerendering rollout stories, and our opinionated take on when to reach for client components versus pushing state into the URL with useSearchParams.
The Edge runtime is fast, cheap, and quietly incompatible with a surprising slice of npm. We benchmark cold starts, p95 latency, and egress cost across Vercel's Edge Functions, Node serverless, and the new Fluid Compute model so you can match runtime to workload instead of guessing. Our guides cover the gotchas around Prisma, Node Buffer, and crypto APIs, plus how to read the Server-Timing headers Vercel emits to find the real bottleneck.
We also publish FinOps spreadsheets — actual invoices, redacted — so you can model whether moving an API route to the edge will save money or just feel modern.
Scroll down for our latest articles. New posts land every week, usually right after we've shipped the pattern into our own production code.
Ship Next.js 16 on Cloudflare Workers with the @opennextjs/cloudflare adapter. Bindings, KV cache, images, Postgres pooling, and honest cost math vs Vercel.
The Next.js preload pattern uses React cache() and a void preload() helper to eliminate server component fetch waterfalls. Learn the DAL setup, Suspense streaming, and ORM memoization tricks that shave 300-900ms off real routes.
Server-side feature flags in Next.js 16 without client bundles or flash-of-wrong-variant. Walk through install, Edge Config storage, precomputation for static routes, percentage rollouts, kill switches, and how the SDK compares to LaunchDarkly, Statsig, and GrowthBook.
Learn how to install Better Auth in Next.js 16, wire up Drizzle or Prisma, add email/password plus Google and GitHub social login, and lock down routes with proxy.ts and Server Action session checks.
Prefetch on the server, hydrate on the client. A 2026 guide to using TanStack Query v5 with the Next.js 16 App Router: HydrationBoundary, streaming, Server Actions, and the common hydration errors that break RSC setups.
Real effort estimates and a phase-by-phase playbook for migrating from Gatsby to Next.js 16 App Router: GraphQL to Server Components, plugin mapping, dynamic routes, redirects, and deployment.
How to wire up useReportWebVitals in the Next.js App Router, ship LCP, INP, and CLS from real users to any analytics endpoint, and debug the metrics that hurt Search rankings, with working code.
Set up MDX in Next.js 16 App Router the right way: install @next/mdx, register mdx-components.tsx, add Shiki highlighting with rehype-pretty-code, and know when to switch to next-mdx-remote/rsc for CMS-driven content.
searchParams became a Promise in Next.js 15. Learn how to await it in Server Components, parse safely with Zod, use nuqs for URL state, and keep pages statically prerendered with PPR.
Install shadcn/ui in Next.js 16 with the CLI, configure Tailwind v4 OKLCH theming, wire up dark mode with next-themes, and set up a private component registry for teams.
Next.js 16 vs React Router 7 (Remix) in 2026: rendering, deployment, DX, TypeScript, and a 6-10 day migration playbook from a senior engineer who has done it four times.
Ship route animations with zero JS libraries. Turn on Next.js 16's experimental.viewTransition, wrap elements in React 19's <ViewTransition>, and let the compositor handle shared-element hero morphs on the GPU.
Choose your preferred language to explore our content