Start by finding which layer fails
A Next.js application runs in three places: at build time, on a server at request time and in the browser, and a host or proxy sits in front. A fault that "only happens in production" usually crosses one of those boundaries. Before changing code, decide which side the symptom is on. A deployment that never finishes is a build problem. A request that returns an error or the wrong data is a server problem. A page that renders and then misbehaves, or warns about mismatched text, is a browser problem. A fault that appears only on the live address and not locally often involves the host, a proxy or an environment setting.
- Build fails: see the existing build and configuration guides listed below.
- Request fails: check the server log for the same request time.
- Page misbehaves after load: check the browser console first.
Common faults and the guide that separates them
Sign-in that loops or drops the session is usually a cookie or forwarded-protocol problem, and a provider error before the app is reached is a redirect-address problem. An incoming webhook that rejects genuine events usually reads a parsed body instead of the raw text; the Next.js documentation shows Route Handlers reading the body with request.text(). A page that warns about mismatched text is a hydration fault with a documented list of causes. A screen that goes blank when data fails needs explicit handling of expected errors and a boundary for uncaught ones. A slow or jumpy page is a measurement question before it is a code question.
- Login loop: cookie attributes and proxy guides.
- Provider callback error: redirect address guide.
- Webhook rejected: raw-body signature guide.
- Mismatched text warning: hydration guide.
- Blank screen: error boundary guide.
- Slow or jumpy page: loading-delay and layout-shift guides.
Pick the smallest job that fits
If a failure is reproducible, a bug repair with a failing-then-passing regression test is the general route (posted test price from £295, untested). If it matches one of the specific faults, the specific job has a tighter scope: a login that does not stick (from £295), an incoming webhook that fails verification (from £295), one slow page (from £495) or one screen that goes blank on failing data (£245). A build that works locally but fails on a hosted preview is a separate fixed job (£149). All prices are untested and paid only after the agreed checks pass and you sign off. Send the symptom, the Next.js version and the hosting service in your first enquiry, not source code, credentials or customer data.
- An enquiry does not start work; scope, access and terms are agreed first.
- We are a new service with no client delivery record to show.
Sources and limits
- Next.js: route.js file convention (documentation version 16.4.0) Checked 2026-10-11.
- Route Handlers use the Web Request and Response APIs, can read the body with request.text(), and can receive webhooks.
- Next.js: Error handling (documentation version 16.4.0) Checked 2026-10-11.
- Expected errors are shown as values; uncaught exceptions are caught by error boundaries from an error file; event-handler and async errors are caught manually.
- Next.js: Text content does not match server-rendered HTML Checked 2026-10-11.
- Hydration errors come from differences between the server-rendered tree and the first browser render, with listed causes and fixes.