Technical Diagnostic
A focused review to establish what is happening, where the risk sits, and what should happen next, ending with a prioritised plan the team can take into delivery.
The risk is an App Router move that changes runtime behaviour enough to need planning like a platform migration, not a mechanical file conversion.
Move a mature Next.js codebase to the App Router without turning caching, rendering, middleware, or rollout changes into launch risk.
A Pages Router to App Router migration changes runtime behaviour, not just route folders. Caching, data fetching, middleware, and server/client boundaries can all shift under working production code. Mature Next.js teams need a route‑by‑route plan that proves the risky slices first, protects search and release behaviour, and avoids a big‑bang file move.
A focused review to establish what is happening, where the risk sits, and what should happen next, ending with a prioritised plan the team can take into delivery.
Senior hands‑on support inside an existing team when architecture, implementation, review, and delivery decisions need to stay connected.
Ongoing senior technical direction when a team needs stronger leadership and platform ownership before a permanent hire makes sense.
Move a Drupal‑led estate to Next.js without flattening aliases, content types, taxonomies, media, permissions, preview needs, SEO fields, or editorial workflow into generic CMS data.
Untangle App Router caching, stale data, RSC boundaries, mutation paths, and invalidation problems when production behaviour no longer matches the team's expectations.
Stabilise failing Next.js builds on Vercel by reducing noisy log output to the route, dependency, config value, or content path that blocks deployment.
Plan a move to Next.js by identifying which routes, redirects, rendered output, metadata, CMS workflows, analytics, performance paths, and release controls must survive the cutover.
Senior platform assessment and technical direction for React and Next.js estates where routing, CMS, deployment, SEO, ownership, and delivery risk have become one problem.
Define Next.js platform boundaries when domains, routes, tenants, brands, content ownership, data ownership, deployment models, or team responsibilities are making change unsafe.
Debug live Next.js estates where slow routes, stale data, hydration faults, scripts, cache behaviour, or deployment history are now affecting real users and release confidence.

A Pages Router to App Router migration checklist for Next.js teams, covering routing, data fetching, caching, metadata, server components, and rollout.

getStaticProps vs. getServerSideProps in Next.js`GetStaticProps` vs. `getServerSideProps` in Next.js explained with build‑time and request‑time data fetching, trade‑offs, and practical page examples.

A version‑specific investigation into Next.js 15.5.5 Middleware not firing in Pages Router, with checks, workarounds and Next.js 16 Proxy context.

Next.js gives us two ways to handle back‑end logic: API Routes and Server Actions. Here, I clearly explain when to choose each approach for the best results.

Caching strategies for data fetching in Next.js, including force‑cache, revalidation, stale data trade‑offs, and the debugging traps teams hit in production.