Next.js Draft Mode: Headless CMS Preview URLs and Live Editing in App Router (2026)
Enable Next.js Draft Mode in the App Router with draftMode(), signed __prerender_bypass cookies, and secure preview URLs for Sanity, Contentful, and DatoCMS.
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.
Enable Next.js Draft Mode in the App Router with draftMode(), signed __prerender_bypass cookies, and secure preview URLs for Sanity, Contentful, and DatoCMS.
A practical playbook for migrating Create React App to Next.js 16 in 2-5 days: route conversion, env vars, testing, and the gotchas that break builds.
Wire OpenTelemetry into Next.js with instrumentation.ts, @vercel/otel, custom spans, and onRequestError. Real traces you can actually read in prod.
Stop shipping empty API keys. Validate Next.js env vars at build time with @t3-oss/env-nextjs and Zod 4: server/client split, Turbopack, and Docker deployments.
Learn how to add a strict Content Security Policy to your Next.js App Router app: per-request nonces in middleware, strict-dynamic, style-src pitfalls, and report-only rollout.
Self-host Google Fonts with next/font in Next.js 16 and hit zero layout shift. Covers local fonts, variable fonts, Tailwind integration, and the real gotchas.
A route-by-route playbook for moving Pages Router to App Router in Next.js 16. Covers data fetching, layouts, API routes, auth, and effort estimates.
Find the heavy chunks in your Next.js app, then cut First Load JS by 30 to 60 percent. Install @next/bundle-analyzer, read the treemap, then use next/dynamic, Server Components, and optimizePackageImports to ship under 130 KB per route in Next.js 16.
Adding Sentry to a Next.js app takes one command. Here is how to capture Server Component errors, upload source maps with Turbopack, and bypass ad blockers in Next.js 16.
Set up a Next.js 16 monorepo with Turborepo and pnpm. Workspace structure, shared UI packages, Vercel remote caching, and CI config that actually scales.
Next.js Edge Runtime vs Node.js Runtime in 2026: cold starts, the 4 MB limit, which database drivers work on the Edge, and the exact rules I use to pick one per route.
A practical 2026 comparison of Next.js 16 and Astro 5: rendering models, performance, SEO, and a day-by-day migration playbook in both directions.
Choose your preferred language to explore our content