Technical Diagnostic
A focused review of affected routes, templates, deployment behaviour, crawl signals, CMS behaviour, performance bottlenecks, or code paths, followed by a prioritised fix plan the team can take into delivery.
Authentication works locally, then breaks in production because callback, redirect, cookie, or middleware behaviour changes once the site is deployed.
Stabilise NextAuth when authentication is broken in production and callback, middleware, cookie, or redirect issues start blocking real user access.
NextAuth failures often appear only in production because the real domain, callback URLs, cookie scope, middleware, and redirect handling are finally in play. Local success does not prove the deployed flow is sound. A reliable fix traces one failing auth path end to end and stabilises the boundary that is blocking access.
A focused review of affected routes, templates, deployment behaviour, crawl signals, CMS behaviour, performance bottlenecks, or code paths, followed by a prioritised fix plan the team can take into delivery.
A short, concentrated engagement for a defined technical SEO, performance, CMS, Vercel, migration, or production issue where the business needs the cause isolated and the first fixes moved quickly.
Senior hands‑on support inside an existing team where architecture, implementation, review, and delivery judgement all matter, especially when the work cannot be handed over as isolated tickets.
Stabilise a Next.js production incident after deploy when the app works locally but the live site is now broken, inconsistent, or only failing against production conditions.
Fix content not updating and stale pages before ISR or revalidation problems make live freshness unpredictable for teams and users.
Untangle App Router caching and mutation issues when data is not updating, pages feel stale, or behaviour changes unexpectedly between routes.
Debug live Next.js stacks that became slower, less stable, or harder to reason about after a release, redesign, dependency change, or script rollout.
Senior Next.js architecture work for legacy platforms, difficult migrations, and live stacks that need clearer delivery direction before more work piles on.
Debug Vercel production issues where builds, deployments, revalidation, auth, or environment differences are blocking releases and weakening production confidence for delivery teams.
Review Next.js architecture when tenancy, shared systems, App Router behaviour, or unclear team ownership is making the product harder to change safely.

A practical guide to implementing authentication in Next.js with NextAuth.js, including sessions, callbacks, route protection, and router‑specific trade‑offs.

Middleware in Next.js provides a straightforward way to protect routes and manage user authentication. Here, I show how to implement effective route protection.

When you set up a custom domain in Vercel, the default `vercel.app` subdomain still serves your site, which can lead to duplicate content. Here's how to fix it.