Service pillar

Next.js developer

Senior B2B, EU jurisdiction, scoped per project.

Pricing is individual. I reply within one working day.

What I ship

Next.js 15 with the App Router and React 19 Server Components as the front end. WordPress 6.7+ as the editorial back end, communicating over REST or GraphQL. Cloudflare Workers and Pages for the runtime and the edge cache. TypeScript across the stack. Tailwind CSS for the design system. Anthropic Claude and Model Context Protocol when AI features earn their keep.

When Next.js is the right choice

Personalised pages, session-driven flows, A/B-tested experiences, transactional checkout, real-time dashboards, and authenticated workspaces all benefit from the streaming SSR + RSC model. The mental model is "render close to the data, stream what is ready, hydrate what is interactive". For pages that fit, Next.js delivers a UX that classic SSR or static cannot match.

For pages that do not fit, I say so. Content-heavy marketing sites, blogs, and documentation usually win on Astro with static + ISR at lower cost. The framework decision is part of scoping, not a default.

Who this is for

  • WooCommerce stores with custom checkout flows or per-user pricing
  • SaaS dashboards and authenticated workspaces backed by WordPress as a content layer
  • Multi-region brands needing ISR with webhook-driven invalidation
  • Editorial publishers with live data feeds, comments, or real-time analytics surfaces

Engagement model

Senior B2B contracts on EU jurisdiction. Discovery, scoping, fixed-scope or time-and-materials engagements. Pricing is individual.

Read path on the edge, write path on the origin. Cache invalidated by webhook tags. Reader / agent sends a request to Cloudflare Workers (edge). On cache hit the Edge cache (per-tag) returns HTML with almost no CPU. On cache miss Workers calls REST API /wp-json/ on the WordPress origin and renders. Editorial work happens in Block Editor + WP Admin on the origin and triggers a Webhook on publish that invalidates relevant cache tags. Reader / agent Cloudflare Workers (edge) Edge cache (per-tag) cache hit (almost no CPU) cache miss → render at edge WordPress origin Block Editor + WP Admin REST API /wp-json/ Publish / slug change / stock Read Read Webhook on publish Write
Read path on the edge, write path on the origin. Cache invalidated by webhook tags.
React Server Components are not a feature of React; they are a different programming model that finally lets you render close to the data.
Andrew Clark , React core team , React Conf 2025 , 2025-05-15 , source

Frequently asked questions

When does Next.js win over Astro for headless WordPress?

When the page is personalised, session-driven, or transactional. Authenticated dashboards, checkout flows, A/B-tested pages, real-time data feeds, and live commerce all play to Next.js's strengths. Astro wins for high-traffic content sites where static + ISR is sufficient. The framework choice is per-project, not a default.

What is the role of React Server Components in production?

RSC lets the framework render React on the server and stream HTML to the client without shipping the component code. The wins are smaller JS bundles, faster TTI on slow networks, and a cleaner data-fetching pattern. The trade-off is a different mental model from classic React; the senior team's familiarity with RSC matters more than the framework version.

Can Next.js run on Cloudflare Workers?

Yes. The OpenNext adapter compiles a Next.js build to Workers-compatible output, and Cloudflare's first-party Next.js Workers integration covers most production cases. Edge functions and middleware port from Vercel Edge Runtime. I benchmark per project; not every Next.js feature is identical across runtimes.

Does Next.js cost more to host than Astro?

Often, yes. Static Astro pages serve from edge cache at near-zero CPU. Next.js SSR pages pay full render cost per request, and even ISR pays revalidation cost. For high-traffic content sites the difference is real. For commerce and personalised flows the difference is rarely the deciding factor.

How do you handle SEO with Next.js?

Per-route metadata via the App Router metadata API, structured data via inline JSON-LD or schema components, sitemap and robots via generateSitemaps and route handlers, and hreflang via the metadata.alternates field. I carry a 30-point SEO checklist into every Next.js engagement.

Proof through migration discipline

Next.js is useful when the route really needs session state, personalisation or streaming. The proof layer shows how I preserve URLs, schema, editorial preview and rollback while changing the front end.

Cluster reading

Architecture and decision

Migration and timelines

Compliance and risk

Reference

Start a Next.js engagement

Tell me the scope and timeline. I reply within one working day.

Contact me