BlogDevelopment

Why We Build with Next.js: Our Framework Philosophy

Stephen StarcApril 10, 20267 min read
Why We Build with Next.js: Our Framework Philosophy

Every development agency makes choices about their technology stack. Those choices compound over time — they determine what you can build quickly, what kinds of clients you can serve, and how much technical debt you accumulate. We've been deliberate about ours, and Next.js sits at the centre of it.

Why Next.js

Next.js gives us the right defaults. Server-side rendering, static generation, incremental static regeneration, image optimisation, API routes — these aren't features we bolt on; they're built into the framework's foundations. For client work, that means we spend less time configuring infrastructure and more time building product.

The file-based routing system is genuinely elegant. The App Router, introduced in Next.js 13 and matured significantly since, gives us the ability to colocate server and client components in a way that makes code easier to reason about and applications faster to ship.

Performance as a Default

Next.js makes performance the path of least resistance:

  • Images are automatically optimised, resized, and served in modern formats
  • Fonts are self-hosted and preloaded to eliminate layout shift
  • Code splitting happens at the route level automatically
  • Server components mean zero JavaScript shipped for components that don't need it
  • Edge runtime support for global, low-latency API responses

The best performance optimisation is the one you don't have to think about. Next.js handles the obvious wins automatically, letting us focus on the application-level decisions.

The Ecosystem Advantage

React's ecosystem is unmatched. The breadth of libraries, the quality of tooling, and the size of the community means that whatever problem we encounter, someone has solved it. Framer Motion for animation, Radix UI for accessible primitives, Sanity for content management — the integrations are first-class.

When We Reach for Something Else

Next.js isn't always the answer. For highly interactive applications with complex client-side state — dashboards, real-time tools, SaaS products with deeply nested UI — we evaluate whether a pure SPA or a different architecture serves better. For simple marketing sites with no dynamic content, we sometimes reach for Astro, which ships zero JavaScript by default.

The principle is: use the right tool for the job. But for the vast majority of client work — marketing sites, ecommerce, content-heavy platforms, web apps — Next.js is the right tool. It's why our team has invested deeply in mastering it.

Deployment and Infrastructure

We deploy primarily to Vercel, which is built for Next.js and delivers an exceptional developer experience. Edge functions, preview deployments, analytics, and zero-downtime deploys are all first-class. For clients with specific infrastructure requirements, we also deploy to AWS and Cloudflare, where Next.js runs well with minor configuration.

Written byStephen Starc
Share
Work With Us

Ready to build something remarkable?

We design and develop websites that help brands grow. Let us bring your vision to life.

Start a Project