nextjs development

Next.js sites your team changes by asking.

For sites with logins, live product data or components shared with your React app. Sanity for editors, Vercel or Cloudflare for hosting. The same person designs the site, builds it and ships the changes after.

When Next.js is the right build.

Next.js earns its weight when pages differ per visitor, read from your product's API, or share components with a React app. If every visitor sees the same pages, I will tell you Astro is the better build. More framework than the site needs is a cost you pay on every change. Read the comparison.

A fit when

  • Some pages differ per visitor: an account area, a dashboard, pricing by plan.
  • The site reads live data from your product, and that data should not be copied into a CMS.
  • Your product is React, and the site should share its components instead of copying them.
  • Editors still publish the marketing pages in Sanity, without a ticket.

Not a fit when

  • Every visitor sees the same pages: pricing, guides, posts. Astro ships less to the browser, and there is less to maintain. Astro development
  • Your core backend: billing logic, data pipelines, the system of record. I build against its API; your engineers own it.
  • Native mobile apps.
  • A team that wants to design new layouts on a canvas each week. Stay or move

What a change looks like after launch.

A sample site with invented data. Pick a request: a fix, a new section, or a new page. On a real site each one arrives as a preview, and nothing goes live until someone approves it.

How a build runs.

Five stages, in this order. Each one ends with something you can open and check.

  1. Scope and architecture

    Which pages are static, which render per request, which sit behind a login, and where the data for each one comes from. This stage settles the build: Next.js, or Astro if nothing on the site needs Next.js.

    • Route map
    • Rendering plan per route
    • Data sources
    • Fixed scope

    4 in hand so far

  2. Content model and data

    Marketing content modeled in Sanity; product data read from your API, not copied into a CMS where it will go stale.

    • Sanity schema
    • API contracts
    • Auth approach

    7 in hand so far

  3. Components and design system

    Tokens and React components, written so they can be shared with your app later if you want them to be.

    • Tokens
    • Component library
    • A page listing every part

    10 in hand so far

  4. Product surfaces and integrations

    Account areas, forms, payments and the calls to your backend, each tested against real responses including the failed ones.

    • Auth flows
    • API routes
    • Integration tests
    • Error states

    14 in hand so far

  5. Launch and handover

    Redirects, sitemap, a performance pass on the routes that render per request, then the domain moves early in the week while I am watching.

    • Redirect map
    • Performance check
    • Handover doc
    • Repository in your account

    18 things handed over, all yours

The same build on a calendar: what you do, what I do, and when.

Kickoff to launch Sample plan, 4–6 weeks
Week 1Week 2Week 3Week 4Week 5
You What I need from you
Plan Audit and content model
Build Astro or Next.js, with Sanity
Launch Content, QA and cutover
  1. You

    • Week 1 Kickoff One call to agree the scope, the dates and who signs off.
    • Week 1 Access Your current site, your domain and the accounts your new site will live in.
    • Week 1 Plan approved You approve the page plan and the redirect policy before any build starts.
    • Week 4 Preview review You read the real pages on a private preview and send your notes.
    • Week 5 Launch The site goes live in accounts your company owns.
  2. Plan

    • Week 1 Audit I list every URL, form, script and CMS field on your current site.
    • Week 1 Content model Your pages become structured Sanity types your editors can use.
  3. Build

    • Weeks 2 to 4 Pages and components I rebuild each template and compare it with the live page, side by side.
  4. Launch

    • Weeks 3 to 4 Content and redirects Your content moves to Sanity, and every old URL gets its redirect.
    • Weeks 4 to 5 QA and launch Speed, links, forms and analytics get checked before the domain moves.
Point at or tap any item to see what happens then.

What you end up with.

  • Static where it can be

    Marketing pages are still generated ahead of time. Only the routes that genuinely differ per visitor render on request, so the parts that can be fast are.

  • Sanity for the marketing pages

    Editors publish in Sanity Studio and the affected pages refresh, without rebuilding the whole site or opening a ticket.

  • Your API, not a copy of it

    Pricing, plans and status come from the system that owns them. When the product changes, the website does not need a second edit.

  • Auth that matches the app

    Login uses the provider your product already uses, so a customer has one account and one session across both.

  • A repository you own

    Plain TypeScript in your GitHub, deployed from your hosting account. Your engineers can read it without asking me what anything means.

  • Changes by asking

    After launch, requests arrive through the Console or the channel agreed at kickoff and come back as previews. Nothing ships until you approve it.

The stack.

  1. Changes

    Where your team asks for something

    • The Console
    • Claude
    • Slack
  2. Site

    What visitors load

    • Next.js
    • TypeScript
    • Tailwind
  3. Content

    Where editors write and publish

    • Sanity
  4. Hosting

    Where it runs, in your accounts

    • Vercel
    • Cloudflare
    • GitHub

Questions about building in Next.js.

Should my site be Astro or Next.js?

Astro if every visitor sees the same pages. Next.js if the site has logins, reads live product data or shares React components with your app. I build both on one price list, and the first call usually settles which.

Can marketing still publish without a developer?

Yes. Marketing pages live in Sanity, and publishing refreshes the pages that changed. The account and product routes stay in code, where a content edit cannot break them.

Do you build the backend too?

The parts the website needs: API routes, form handling, auth, payments and the calls to your product. Billing logic, data pipelines and anything your product depends on stay with your engineers, and I build against their API.

Can you work in an existing codebase?

Yes, if the codebase is worth keeping. I will read it first and say what I would change, and whether the marketing site would be better as Astro.

What does it cost?

A move from another platform is fixed price from $5,000, quoted after the inventory. A new build is scoped the same way. Ongoing work afterwards is $3,500 a month with no minimum term. The cost page breaks the bands down.

Who does the work?

I do, all of it. There is no handoff to a junior and no second team. The trade is capacity: there is no second team to absorb a rush, so scope and cost are agreed in writing before work starts. More on that.

Where is it hosted?

In your Vercel or Cloudflare account. The repository is in your GitHub.

Next step

Is the site part of the product?

Send your site

I can scope a migration. Send a brief and I will reply by email with next steps.