Next.js development for products and marketing sites

Dardo builds Next.js applications and websites for teams that need a signed-in product and its marketing pages in one codebase, or pages that change for each visitor. We decide how every route renders, set up hosting on Vercel, Cloudflare or your own servers with the running costs written down, and hand over code and accounts in your name.

Get a proposalMessage us on WhatsApp
Dardo / Editorial illustration
On this page

What our Next.js development includes

A Next.js project with Dardo covers the build and the decisions that set its speed and running cost later. The proposal lists which of these are in scope and how each one is accepted.

  • A route inventory marking each route as static, cached or rendered on every request
  • An App Router build in TypeScript, with Server Components by default and browser code only where the interface needs it
  • Caching rules, including what refreshes when your team publishes content
  • Permission checks in the server code that reads the data, with tests that try to get around them
  • Hosting on Vercel, Cloudflare Workers or a Node.js server, with preview deployments and a monthly cost estimate
  • JavaScript budgets, error monitoring and analytics events checked before launch

When is Next.js the right choice, and when is Astro better?

Choose Next.js when much of what you're building behaves like an application: people sign in, see their own data, change records or get pages assembled for them on each request.

Choose Astro when most pages are the same for every visitor, as on marketing sites and publications; Dardo's own site runs on Astro, and our Astro development page explains when it wins. If the product's workflow isn't settled yet, scope it first with web app development, which covers accounts, roles and payments. If marketers must publish without developers, the choice of headless CMS matters as much as the framework.

Static, cached or rendered on request: how should each route work?

Each route should do the least work that still shows the right content. A page that is the same for everyone is built once, one that changes now and then is cached and refreshed when content is published, and only a page that depends on who is asking renders on every request. In the App Router, pages are Server Components by default, so HTML comes from the server and less JavaScript reaches the browser.

Rendering choices show in the field: in our website platform speed report, Next.js sites pass Core Web Vitals less often than most platforms, mostly on responsiveness (INP).

As of October 2026 the current release is Next.js 16.4, published on 6 October. It recommends Cache Components, the caching model built around the use cache directive, for every app, turns it on in new projects and says it becomes the default in Next.js 17. A page can then mix a cached layout with parts rendered per visitor, such as an account menu on a static pricing page. Version 16.4 also adds a setting that fails the build when request-time content slips into a route meant to stay static, so a stray component can't quietly add server cost to marketing pages.

Where should a Next.js app be hosted, and what does it cost to run?

Any host that runs Node.js can run every Next.js feature, so hosting is a choice about cost, operations and lock-in. As of October 2026, the Next.js docs list Vercel and Bun as verified adapters; Cloudflare and Netlify are building theirs and offer their own integrations meanwhile. A static export runs anywhere but drops every feature that needs a server.

Where should a Next.js app be hosted, and what does it cost to run?
HostingHow it bills, as of October 2026What to plan for
Vercel ProUSD 20 a month platform fee with one deploying seat and USD 20 of usage credit; extra deploying seats USD 20 a month each; usage beyond the credit billed on demandThe free Hobby plan is non-commercial only, and Vercel counts a paid consultant writing the code as commercial use
Cloudflare WorkersUSD 5 a month minimum on the paid plan, with 10 million requests and 30 million CPU milliseconds included, then USD 0.30 per extra million requests; no bandwidth chargesNext.js runs through an adapter (our projects use OpenNext), so we check every feature you need against its support list
Your own Node.js server or DockerWhat your cloud provider charges for the serversEvery feature works; your team owns patching, scaling and monitoring

We have run Next.js on both managed options. A medio tono started on Vercel and moved to Cloudflare Workers on 30 September 2026, running Next.js 16 through OpenNext with a front Worker that serves prerendered pages and caches optimized images.

Running costs move with rendering choices. Beyond the included credit, Vercel lists function invocations at USD 0.60 per million and image transformations at USD 0.05 per thousand, so a page that could be static but renders per visitor costs money on every visit. Before launch we estimate the monthly bill from your expected traffic and set spend alerts in your account.

One codebase for the product and its marketing pages

One Next.js codebase can serve a SaaS's public pages and its signed-in product, keeping components, sign-in state and analytics consistent. The cost is coupling: a typo fix on the pricing page ships through the same release as product code, so we keep marketing routes static and their content in a CMS.

On Hyper, one Next.js 16 front end carries the scroll-driven product story and the paid research flow behind it; a webhook confirms each payment and the research runs in a separate Python service. If customers will use your product on their own domains, plan it early with our guide to custom domains for SaaS.

Splitting is sometimes better: a marketing site on Astro or Webflow at www and the app on its own subdomain, when marketing publishes daily and the product team releases on its own schedule. Designing that marketing site is our SaaS website design service.

Security and upgrades come with the framework

A Next.js app runs your code on a server, so the framework version is a security dependency that needs an owner after launch. On 3 December 2025, Next.js published advisory CVE-2025-66478, rated CVSS 10.0: a flaw in the React Server Components protocol could allow remote code execution on App Router apps running Next.js 15 or 16. There was no workaround: apps had to upgrade, and Next.js recommended rotating their secrets.

Under the Next.js support policy, 16.x is in Active LTS and 15.x in Maintenance LTS, which brings only critical fixes and security updates, for two years after a major's initial release. Next.js 15 shipped on 21 October 2024, so that window closes in October 2026; 14.x and older get no support.

We check permissions in the server code that reads each record, not only at the routing layer, and treat every Server Action as a public endpoint. Each handover names who applies security releases; under a website maintenance plan, that's us.

Taking over or upgrading an existing Next.js app

We take over Next.js apps after an audit of versions, routers, hosting and recent bills, caching, permission checks, JavaScript sizes and tests, which ends with a ranked fix list and a quote.

Leaving the Pages Router doesn't have to be a rewrite: Next.js designed the app directory to work alongside the pages directory for a page-by-page migration, and codemods handle part of each upgrade. If a public site is changing platform on the way, redirects and search come first, as in our website migration process.

Upgrades get the same tests as features. On Janus Observatory, a speculative prefetch loop in the Next.js and OpenNext stack made 11,704 requests in one failed browser trace; we removed it, and the tests now require zero speculative requests.

How much does Next.js development cost?

The price follows what the routes do, not how many pages there are: twenty marketing pages from three templates can cost less to build than five screens with sign-in, roles and live data. Hosting is billed to you by the provider, outside our fee. Our inquiry form's budget ranges run from under USD 5,000 to over USD 60,000; the pricing page lists them. These move the estimate most:

  • Routes that render per visitor or per account, compared with static pages
  • Sign-in, roles and the permission tests that come with them
  • Integrations: payments, CRM, search, a CMS or your own APIs
  • Languages, each with its own URLs and review
  • An existing codebase to audit, upgrade or migrate first

Questions before you choose

Should we hire a Next.js developer or a studio?

Hire a developer when someone in-house owns product decisions, design and code review, and the work is mostly building to a clear spec. A studio fits when design, build, hosting and launch need deciding together. Dardo is a founder-led team of three, so you talk directly with the people designing and building; for a large team on a long enterprise program, a bigger agency may suit you better.

How long does a Next.js project take, and what do you need from us?

It depends on how many routes need sign-in or live data, the integrations and how quickly content and decisions arrive, so the proposal sets a timeline after scoping. The first milestone is a thin working slice on a preview deployment. To scope it we need your route list, who signs in, the systems to connect and access to any existing repository and hosting.

Do we have to move from the Pages Router to the App Router?

Not all at once. Both routers can run in the same app. We move a route when it needs App Router features such as Server Components, or when it is being rebuilt anyway, and we move closely linked routes together, because navigating between the two routers causes a full page load.

Is Next.js good for SEO?

It can be. Server-rendered and prerendered pages arrive as complete HTML, and Next.js has built-in support for titles, descriptions and social images. Rankings still depend on content, links and competition; keyword research and content planning belong to our SEO service.

Who owns the code and the hosting accounts?

You do. The repository sits in your GitHub organization, and the hosting, domain, database and analytics accounts are in your company's name, with Dardo invited as a member. The proposal states ownership of code and licensed dependencies before work starts.

Can you work with our in-house developers?

Yes. We work through pull requests in your repository, follow your conventions and write down the decisions your team will inherit; Janus Observatory keeps 35 written decision records. Bogotá is on UTC−5 all year, a full working-day overlap with US Eastern and Central time.

From the blog

Sources & further reading

Sources behind this page, with further detail from the original publishers.

Related work

Hyper website built with Next.js by DardoDelivered product site / Next.jsHyperThe product story and its paid research flow run on one Next.js front end, deployed to Cloudflare Workers.See the project

From a route list to a written proposal

Send the routes you need, who signs in and where the app should run. We reply with a rendering and hosting plan and a scoped proposal for the build.