Lighthouse score 62. Conversion 1.8%. LCP 3.4 seconds on a real broadband line. It worked, until her marketing team cracked the channel and traffic went 8× in a quarter.
Next.js development that ships in 800ms, scales to Series B.
Next.js 15 apps for UK SaaS, fintech, and B2B teams — App Router, server components, edge rendering, MERN backend, AWS. Production-grade out the gate: TypeScript-typed, sub-800ms LCP, observability built in, traffic-spike survivable.
You don’t need another Next.js team. You need engineers who’ve shipped 62 Next.js apps and watched what breaks at scale.
A Next.js app is fast in dev and slow on Tuesday traffic if nobody guards the JS budget. We build the version that holds. Server-first rendering, edge caching, performance as a build-gate.
“LCP dropped from 3.4s to 740ms. Conversion lifted 38%. The Vercel bill halved.”
0+
Next.js apps shipped to production since 2019.
<800ms
Median LCP p75, measured on real traffic.
0
Friday-night outages across our 2025 deploys.
Eleanor’s SaaS shipped on Next.js 13. It worked. Then the channel finally cracked.
Bounce rate climbed. Conversion dropped to 1.1% on the new traffic. The Vercel bill scaled with the bundle. The CEO asked the obvious question: “If the app is on Next.js, why is it slower than the WordPress site we replaced?”
We migrated to App Router + React Server Components over ten weeks. Same UI, same backend. JS budget cut from 480KB to 110KB. LCP dropped to 740ms p75. Conversion lifted 38%. This page is for CTOs who recognise themselves in that paragraph.
Four things in-house Next.js teams and offshore shops can’t hand you
This is what 62 Next.js builds have hammered into the studio. Not a brochure. The reasons CTOs sign a second contract.
App Router + RSC discipline
Server-first rendering by default. JS budget enforced in CI. The build that shipped last week is the one that’s fast on Tuesday.
Sub-800ms LCP p75
Performance is a build-gate. Lighthouse perf above 94 is the standard, not the aspiration. Measured on real traffic, not your M3.
Edge + serverless economics
Vercel + Cloudflare for reads, AWS Lambda for spikes. We tune the Vercel bill while it’s still small enough to fix.
30-day walk-away both ways
You keep everything. IP assigns on commit. No lock-in. The four engineers who sign your scope are the four who ship.
The Next.js pain. The day-1 architecture answer.
Each one is a single architectural decision made on day one of our build.
- 01
“Lighthouse perf is 58. Bundle is 480KB. Customers on slow connections bounce.”
App Router + RSC + JS budget in CI. Server components by default. JS budget under 120KB enforced on every PR. Lighthouse perf gate above 94. LCP measured on real 3G traffic, not your M3.
- 02
“Vercel costs scaled with our traffic. The bill doubled. The CFO noticed.”
Edge caching + ISR + serverless tuning. Read paths cached at the edge. Static where possible. ISR where dynamic. AWS Lambda for true spikes. Median Vercel bill cut 40-60% in week one.
- 03
“Friday deploys roll back half the time. The team won’t ship before a weekend.”
Atomic deploys + feature flags + canary releases. Vercel atomic deploys roll back in 60 seconds. Feature flags ship features behind a switch. Canary rollouts catch bugs at 10%. Friday becomes deploy day again.
- 04
“Server components feel slow. We don’t know what to render where.”
The render-boundary map: server, edge, client. Documented per-route decision tree. Server components for data-fetching. Client components for interactivity. Edge functions for personalisation. Enforced in code review.
- 05
“We’ve got Redux, Zustand, React Query, and SWR all in the same app.”
Server state + URL state + minimal client state. Server state goes in RSC. URL state goes in the URL. Client state via Zustand only where genuinely needed. Three patterns, documented in the ADR.
- 06
“Black Friday. 4,000 concurrent. Site went down for 47 minutes.”
Load-tested capacity + idempotent writes + queue. k6 tested at 5× expected peak. Capacity number lives in the runbook. Idempotent writes through Inngest or AWS SQS. The spike outage architecturally impossible.
- 07
“Our app is on a custom React setup. The next senior hire takes six months to ramp.”
Standard Next.js 15 + MERN + AWS. Boring on purpose, hireable forever. London has 14,000+ Node engineers on LinkedIn. Your next senior is fluent on day one.
- 08
“A customer reports a bug. Our engineer can’t reproduce it. Stand-up gets longer.”
Trace ID per request, Sentry + Datadog + Mixpanel. Every Next.js request gets a trace ID. Sentry catches errors with user + tenant context. Mixpanel tracks the funnel. On-call reads the trace and knows what happened in 60 seconds.
The stack we ship every Next.js app on.
Server components cut JS by 60-80% on hot pages without losing interactivity. MERN handles 99% of the behaviour we need on day one.
What every Next.js build runs on
MERNWhen your Next.js brief calls for it
reach when neededThe infrastructure layer
AWS-defaultThe numbers Next.js teams actually quote
Real figures from Next.js builds and migrations we shipped for UK teams.
We migrated from Pages Router to App Router over ten weeks, same UI, same backend. JS budget cut from 480KB to 110KB and the Vercel bill halved.
Eleanor’s Next.js migration,
in real numbers
Next.js 13 Pages Router to Next.js 15 App Router with RSC, edge caching, and JS-budget enforcement. Ten-week sprint, behind-feature-flag, zero customer-facing downtime. Same UI, same backend.
JS bundle & LCP
Business impact
Track record
Three ways to start. Pricing in the email back.
Pick the shape that fits and Mohit will send your real number inside 24 hours.
Next.js audit week
5 days, £8K fixed. We audit your existing Next.js app or a new brief. Architecture, perf, scale, hire path.
- 5-day senior audit
- Render-boundary map + ADRs
- Signed scope, line-item GBP
- No commitment to build
Full Next.js build sprint
8 to 14 weeks of fixed-scope shipping. App Router + MERN + AWS. Edge-rendered, observable, load-tested.
- Next.js 15 + MERN + AWS
- Two senior engineers paired
- 30-day walk-away both ways
- IP assigns on every commit
Pages App Router migration
8 to 12 weeks. Next.js 12/13 to Next.js 15. Behind-flag cutover. Performance + Vercel bill targets locked in scope.
- Pages App Router
- JS-budget enforcement
- Behind-flag rollout
- Vercel bill tuned
“LCP dropped from 3.4s to 740ms. Conversion lifted 38%. The Vercel bill halved. Best ten weeks of engineering we’ve paid for.”
— Eleanor B., CTO, UK B2B SaaSWhat CTOs actually ask before signing
Pain-first, soft-second.
App Router for everything new in 2026. The server components story is mature. The data-fetching is cleaner. The bundle is smaller. Pages Router still works fine for existing apps and we’ll maintain Pages Router codebases on retainer, but we won’t start a new Next.js development project there.
Keep Vercel if it’s working. We’ll tune the costs. Move to AWS only when the bill genuinely warrants it or you have data-residency or enterprise compliance that needs it. Most clients run Vercel for the first £3K-£8K a month, then we plan the AWS migration. Both runtimes ship the same Next.js code.
Documented decision tree per route. Data-fetching + auth checks on server components. Interactivity on client components. Personalisation + A/B routing on the edge. It’s written into the render-boundary ADR that ships at handover. Your next engineer reads it on day one and follows it.
Yes. We’ve done it twelve times for UK clients in 2025. Your existing backend (Rails, Django, .NET, Java) stays. We build the Next.js frontend with typed API contracts. You get the same Next.js performance and hire-ability story without rebuilding your backend.
30-day walk-away both ways. Milestone billing 25/25/25/25. UK VAT registered, listed on Companies House, shipping since 2019. You’re never more than four weeks at risk of paying for nothing.
Every Next.js development project has two senior engineers paired, not one. Every decision goes into an ADR the same day. Mohit reviews every PR. Two handovers in seven years, both inside 48 hours, neither client noticed.
Yes, with mutual agreement. Several of our engineers have moved in-house over the years. The contract has a clean intro fee that’s built to make the transition friction-free, not punitive. We’d rather you have a great in-house team than be locked into us forever.
Yes, with 14 days’ notice. Engineers move to other projects. Spend pauses. Resume with 14 days’ notice. No cancellation fee. No restart fee.

What it looks like shipped.
nextjs development, in context — the dashboards, flows and components your team actually ships, reviews and maintains.
Send a 5-line brief. That’s it.
Tell us what the app does, who uses it, and the LCP target you’d like to defend. Mohit replies inside 24 hours: a clear yes, a clear no, or the one question that decides it.
- < 24h
A personal reply.
Yes, no, or the deciding question. Straight to your inbox.
- Week 1
Audit week begins.
Render-boundary map, perf gate, observability plan, signed scope.
- Launch
Holds on Tuesday.
Sub-800ms LCP. Load-tested to 5× peak. Capacity number in the runbook.