Skip to content
HDC Consultancy.

Frontend framework

Next.js

The React framework we reach for on genuinely app-like builds.

Next.js is an open-source React framework for building full-stack web applications. It adds routing, server-side rendering, data fetching and a build system on top of React. HDC reaches for Next.js when a client needs a genuinely app-like product, a dashboard, a portal, a tool with heavy interactivity, rather than a content or marketing site, where we build on Astro instead.

Where it shines

  • Full-stack React: build the front end and back-end API routes in one project
  • Server-side rendering and React Server Components keep app pages fast and SEO-readable
  • File-based routing, layouts and nested routes scale cleanly across a large app
  • Mature, battle-tested framework backed by Vercel with a vast ecosystem
  • Built-in image, font and bundle optimisation out of the box
  • Handles authentication, dashboards and data-heavy interfaces far better than a static site

Trade-offs to weigh

  • Overkill for a simple marketing or brochure site, more framework than the job needs
  • Ships more JavaScript than a static Astro site, so it's heavier by default
  • Hosting an app-like Next.js build typically costs more than static edge hosting

What Next.js is

Next.js is an open-source React framework for building full-stack web applications, maintained by Vercel. Where React is the library that gives you components, Next.js wraps a full framework around it: file-based routing, server-side rendering, data fetching, back-end API routes and a build system, all configured for you. That means you can build both the user interface and the server logic of an application in a single project.

Its modern App Router is built on React Server Components, so much of an app can render on the server, sending complete HTML to the browser and shipping less JavaScript than a traditional client-side app. That server-first rendering is what lets a highly interactive Next.js app still be fast and readable by search engines, which a plain client-side React app often is not.

How HDC uses Next.js

We treat Next.js as a deliberate choice for a specific kind of project: genuinely app-like products. We reach for it when a client needs something closer to software than to a website, a customer portal with logins, a staff dashboard, a booking platform, a data-heavy tool with constant interactivity.

In those projects, Next.js lets us:

  • Build the front end and the data layer in one codebase, using its built-in API routes.
  • Server-render the pages that need to be public and searchable, while keeping the interactive app behind a login fast and responsive.
  • Structure a large application cleanly with file-based routing, shared layouts and nested routes.

We pair it with TypeScript for safety across the whole stack and Tailwind CSS for styling, the same disciplines we apply everywhere.

Why we apply it

Some projects are simply not websites, they’re applications, and trying to force them into a static-site approach makes them fragile and frustrating. Next.js is purpose-built for that app-like work. Its server rendering means a client doesn’t have to choose between rich interactivity and being found in search: the public pages stay SEO-readable while the interactive parts feel like real software.

It’s also a mature, heavily supported framework with an enormous ecosystem, so a client’s product isn’t built on anything obscure. For the right project, that maturity is exactly what you want under something people depend on every day.

How Next.js fits our stack

Next.js is the framework we layer over React when a build crosses the line from site into application. It sits alongside TypeScript for end-to-end type safety and Tailwind CSS for styling, and we host and secure it through Cloudflare at the edge. It’s the natural step up from our default: where Astro handles fast content and marketing sites, Next.js handles the app-like products that need routing, server logic and constant interactivity. The two cover the full spectrum of what a growing business might need online.

When Next.js isn’t the right tool

We’re honest about fit, and most of the time that means not using Next.js. For a marketing site, a trades website, a brochure site or a blog, Next.js is more framework than the job needs, it ships more JavaScript and costs more to host than a static Astro build that loads almost instantly and ranks just as well. We reserve Next.js for projects that are genuinely applications: portals, dashboards, booking systems, SaaS products. If your project is really a website, we’ll build it on Astro and tell you why.

Worked example

A customer portal for a growing service business

Picture a maintenance company that's outgrown spreadsheets and email. Their customers want to log in, see upcoming visits, view past invoices and request new jobs, and staff need a dashboard to manage it all. That's not a marketing site; it's a web application. We'd build it on Next.js: secure login, a customer-facing portal and a staff dashboard, with the pages that need to be public and searchable still rendered on the server so they show up in Google. The data flows through Next.js's own API routes, so the front end and back end live in one tidy codebase. The client gets a real product their customers actually log into, not a brochure pretending to be one. (Illustrative, every build is scoped to your goals.)

Next.js: your questions answered

What is Next.js used for?

Next.js is used to build full-stack web applications with React, things like dashboards, customer portals, booking platforms and SaaS products. It adds routing, server-side rendering, data fetching and back-end API routes on top of React, so a whole app lives in one project.

Why does HDC use Next.js?

We reach for Next.js when a client needs a genuinely app-like product rather than a content site. Its server rendering keeps pages fast and SEO-readable even though the app is highly interactive, and its full-stack nature lets us build the front end and the data layer together. For a standard marketing or trades site, we build on Astro instead, because a static site is faster and cheaper there.

What's the difference between Next.js and Astro?

Astro is built for fast, content-driven sites and ships zero JavaScript by default, ideal for marketing and trades websites. Next.js is built for app-like products with constant interactivity, like dashboards and portals. We use Astro for most client sites and Next.js when a project is really an application. They solve different problems, and we pick by fit.

Is Next.js good for SEO?

Yes, when an app needs SEO. Because Next.js can render pages on the server, the content is in the HTML for search engines and AI crawlers to read, a big advantage over a plain client-side React app. For a pure marketing site, though, a static Astro build is still leaner and faster, which is why we reserve Next.js for genuinely app-like work.

Is Next.js better than React on its own?

It's not better or worse, it's React plus a framework. React gives you the components; Next.js adds routing, server rendering, data fetching and a build system around them. For a single interactive island we use React directly inside Astro. For a full multi-page application, the structure Next.js provides saves a lot of reinventing the wheel.

Do I need Next.js for my business website?

Usually not. Most trades and local-business websites are marketing sites, and those are faster, cheaper and easier to host as static Astro builds. You need something like Next.js when your site becomes a product people log into and use, a portal, a dashboard, a booking system. We'll always tell you honestly which one your project actually needs.

Want Next.js working for your business?

Tell us what you're trying to achieve, we'll show you, honestly, whether it's the right tool and how we'd apply it.

Enquire now