Next.js logo
Framework

Next.js Website Development

The framework this website runs on.

LGTCS builds Next.js websites in static export or server-rendered mode, hosted on Cloudflare or Vercel. Fixed-price packages from $300, and you own the code.

Fixed-price packages from $300. No retainer, no licence fees.

Short answer

Next.js is a React framework that can build pages ahead of time instead of assembling them inside the visitor's browser. LGTCS builds in two modes. Static export produces finished HTML files that we host on Cloudflare, which suits most marketing, nonprofit, and content sites. Server rendering builds each page on request and runs on Vercel, which suits dashboards and pages personalised per visitor. We decide which one your project needs before any code is written.

nextjs.org/docs
App Router and React 19 on every build
Next.js 15App Router and React 19 on every build
Static export or server rendering, chosen per project
Two modesStatic export or server rendering, chosen per project
Private GitHub, full source ownership
Your repoPrivate GitHub, full source ownership

What Next.js actually is

Next.js is a framework built on top of React. React decides what a page looks like and how it responds to a click. Next.js decides when that page is built, how it reaches the browser, and how a search engine reads it.

The word that matters is when. A typical website builder assembles the page inside the visitor's browser after the download finishes, which means the visitor waits and a search crawler has to execute JavaScript to see your content. Next.js can assemble the page during the build instead, long before anyone visits. The browser receives finished HTML on the very first request.

We use the App Router, which is the current architecture, not the older Pages Router that much of the tutorial content on the web still teaches. Components are server components by default. Any piece of interface that never has to react to a click stays on the server and its code never reaches the browser at all.

Two ways we deploy Next.js

Next.js can build your pages once at deploy time, or build them fresh on every request. The two modes have different costs, different speed characteristics, and different hosts. We build both. The choice is made with you during discovery, based on what the site actually has to do, rather than applied as a house preference to every project.

Two ways we deploy Next.js
AspectStatic export, hosted on CloudflareServer rendering, hosted on Vercel
When pages are builtOnce, at deploy timeOn every request
What the host runsPlain files, no runtimeServerless functions
Cold startsNone, the file already existsPossible on idle functions
Monthly hostingUsually inside the free tierScales with traffic and usage
Publishing a changeRebuild and redeploy, usually under a minuteLive on the next request
Pages personalised per visitorHandled in the browser after loadRendered per visitor on the server
Best suited toMarketing, nonprofit, campaign and content sitesDashboards, portals and personalised apps

Most organisational websites do not need per-request rendering, so static export is where we start and it is what the majority of our packages are priced around. When a project genuinely calls for server rendering, personalised pages, or heavy server logic, we build it that way and deploy to Vercel. Neither answer is better in the abstract. Only one of them is right for your project.

In practice

How LGTCS uses Next.js on client projects

Specific decisions we make on real builds, not a feature list copied from the documentation.

Static export by default, server rendering when it earns its place

Most projects start with output set to export in next.config. The build produces a folder of HTML, CSS, JavaScript, and assets, and that folder is the entire website. Nothing to keep alive at 3am and no patch cycle on a server you forgot you owned. When a build genuinely needs per-request rendering we switch modes and deploy to Vercel instead, but we do not reach for it by default, because it adds a running cost most websites never earn back.

One typed content module, not copy buried in markup

Page copy, pricing, feature tables, and navigation live in a single typed TypeScript module rather than scattered through components. Change a price in one place and every page that mentions it updates. If a required field is missing, the build fails instead of the website quietly rendering an empty space.

Server components keep the JavaScript bundle small

We default to server components and add the client directive only where interaction genuinely requires it. On our own pricing page, only the comparison table and the navigation ship JavaScript. Every other section arrives as finished markup, which is why the page holds its Core Web Vitals scores on mobile.

SEO is written in code and reviewed like code

Titles, descriptions, canonical URLs, Open Graph data, the sitemap, robots rules, and JSON-LD structured data are all typed source files. The sitemap is generated from a route list with real lastModified dates rather than a plugin guessing. Nothing important lives in a settings panel nobody opens.

Dynamic routes with generateStaticParams

Pages like this one are produced from a single template plus a data file. Adding a page means adding a data entry, and the build renders it as static HTML with its own URL, metadata, and canonical tag. That is how a content programme scales without the codebase doubling in size.

Images handled for static hosting

Next image optimisation assumes a server. On static export we configure unoptimized images and hand-size assets properly instead, so nothing silently breaks after deployment. It is a small detail that catches out a lot of Next.js exports.

Thinking about a Next.js build?

Send us the pages you need and your deadline. We will tell you which package covers it and what it costs, usually the same day.

Talk to us
Our process

How a Next.js project runs, step by step

The same sequence on every project, whether it is a single landing page or a full platform.

  1. 1

    Map routes and content model

    Before any code, we decide what deserves its own URL and what is only a section. Every URL is a ranking opportunity, so this step is an SEO decision as much as a technical one.

  2. 2

    Scaffold the App Router structure

    Shared layouts, default metadata, the typed content module, and the design tokens go in first, so every page built afterwards inherits the same structure and styling.

  3. 3

    Build in server components

    Sections are built as server components. Interactive pieces, such as a comparison table or a mobile menu, are isolated into their own client components so the JavaScript cost stays contained.

  4. 4

    Wire the SEO layer

    Per-page metadata, canonical URLs, the generated sitemap, robots rules, and structured data are added as the pages are built, not bolted on the week before launch.

  5. 5

    Build and review on a preview URL

    The build is deployed to a preview address, static or server-rendered depending on what we agreed. You click through the real thing on your own phone before anything touches the live domain.

  6. 6

    Connect the domain and hand over

    The repository is connected to your host, Cloudflare or Vercel, so that merging a change deploys it automatically. You receive the repo, the accounts, and a short document covering how to run, edit, and deploy the site.

What you receive

Everything below is handed over at the end of the project. Nothing is held back as leverage to keep you on a retainer.

  • Private GitHub repository with the full commit history
  • Next.js 15 App Router project written in TypeScript
  • Production build configured for the host we agreed on
  • Typed content module so text changes do not require hunting through markup
  • Per-page metadata, canonical URLs, sitemap.xml and robots.txt
  • JSON-LD structured data for organisation, breadcrumbs and pages
  • Responsive layouts checked on real phone, tablet and desktop widths
  • Core Web Vitals and accessibility pass before launch
  • Automatic deployment from GitHub to Cloudflare or Vercel
  • Handover document covering local setup, edits and deployment
Where it fits

Projects we build with Next.js

The kinds of work this part of the stack is genuinely the right answer for.

Nonprofit and foundation websites

Programme pages, impact reporting, and donation flows that have to load quickly on poor connections and be readable by search engines without a JavaScript runtime.

Company and consulting websites

Service pages, case studies, and team profiles where every page is a ranking opportunity and content changes often.

Campaign and fundraising pages

Time-bound landing pages that must be published fast, tracked accurately, and taken down cleanly afterwards.

Content and publishing sites

Article libraries where structured data, clean URLs, and fast navigation decide how much organic traffic you get.

What it means for you

The business reason we chose it

Technology decisions only matter if they change something you can measure.

Pages appear immediately

Pre-rendered HTML removes the gap between a click and readable content. That gap hurts most on mobile data, which is where the majority of first visits to your site will come from.

Search engines see everything

Crawlers read finished HTML. There is no script to execute, no waiting, and no risk that half your content is invisible because a bundle failed to load.

No lock-in, to a platform or to us

Next.js and React are open source with a very large hiring pool, and the repository is yours. Whichever host we deploy to, the code underneath is standard Next.js that another team can pick up and move. If you bring in a different developer next year, they will recognise it on day one.

In our packages

Included in every package, from Launch at $300 to Digital Platform.

See all four packages side by side
Questions

Next.js questions we get asked

The things clients actually ask before signing, answered plainly.

Is Next.js good for SEO?

Yes, because the HTML is finished before it reaches the browser. Whether LGTCS exports the site statically or renders it on the server, a crawler never has to execute JavaScript to find your content, and neither does an AI answer engine. Next.js also has first-class support for per-page metadata, canonical URLs, sitemaps, robots rules, and structured data, all written in typed code rather than bolted on by a plugin that can break at the next update. Every site LGTCS builds ships with that structured data in place from the first release, not as a later add-on.

Do I have to host a Next.js website on Vercel?

No, and LGTCS uses both. Vercel builds Next.js and its hosting is genuinely excellent, so it is where LGTCS deploys projects that need server rendering, per-request pages, or preview builds for a larger team. Next.js also exports to static files that run on any host, and for most marketing and nonprofit sites LGTCS deploys those to Cloudflare because the running costs are lower and flatter. We recommend one or the other based on what your site has to do, not on a house preference. Tell LGTCS what your site needs to do and we will tell you which host it should sit on, and why.

Which host will you use for my website?

The LGTCS website packages are built and priced around static export on Cloudflare: three fixed-price packages from $300, plus Digital Platform from $4,500 with a final price based on scope. If discovery shows your project needs server rendering, LGTCS will say so, build it on Vercel, and quote that separately, because the hosting economics are genuinely different and we would rather price it honestly than absorb it quietly. You will know which one applies to you before you commit to anything. Send LGTCS your page list and requirements and we will tell you which side of that line you fall on.

Next.js or WordPress, which should I choose?

WordPress makes sense when non-technical staff need to build entirely new page layouts themselves every week, and LGTCS will tell you when that describes your organisation. Next.js makes sense when you want speed, security, and search performance without plugin maintenance, and when content updates are mostly text, images, and new articles rather than new layouts. A Next.js site has no plugin surface to be hacked through and nothing to patch every month, which is where most WordPress incidents come from. If you already run WordPress, send LGTCS the address and we will tell you honestly whether moving is worth it for you or whether keeping it behind Cloudflare would serve you better for less.

Can I edit the content myself without a developer?

From the LGTCS Impact package upward, yes. We add a secure admin dashboard so your team can publish articles, projects and updates, and manage media, without touching code or waiting on us. On the Launch package, content changes come back to LGTCS, which suits a single page that rarely changes and keeps the price where it is. If you expect to publish regularly, tell LGTCS at scoping and we will start you at Impact rather than upgrading you later.

How long does a Next.js website take to build?

With LGTCS, a single-page Launch site takes three to five days. A five-page Impact site takes one to two weeks. A ten-page Growth site takes two to four weeks, and a full Digital Platform build takes four to eight weeks. The timeline depends far more on how quickly content and approvals arrive from your side than on the code. Send LGTCS your deadline with your page list and we will tell you before you commit whether it is achievable.

Who owns the source code?

You do, on every LGTCS package including the cheapest one. The repository is created under your organisation from the first commit rather than transferred at the end, you hold the admin rights, and there is no licence to renew and no part of the codebase LGTCS holds back. Ask us to show you the repository before you pay the final invoice and you will see exactly what you own.

Related technology

The rest of the stack

Every tool we use has to work with the others. These are the closest neighbours.

Before you decide

Guides on the decision behind this

Longer comparisons that weigh this up against the alternatives, including the ones we do not sell.

Ready to build on Next.js?

Tell us what the website needs to do. We will tell you which package covers it, what it costs, and when it goes live.