Pricing

Fixed prices, agreed before I start.

Price follows templates, CMS collections, and integrations, not page count. A blog with 300 posts is one template. You know the number before the first line of code, and it does not move unless the scope does.

Migrate to Astro

Launch

$3,000

For a marketing site that outgrew its platform.

  • Up to 10 templates
  • Up to 5 CMS collections in Sanity
  • Core interactions rebuilt
  • Schema markup and llms.txt
  • Redirect map and sitemap diff
  • 3–4 weeks
  • 15 days of post-launch support
Plan the move

Protocol

From $15,000

For protocols, exchanges, and regulated fintech.

  • Unlimited templates and collections
  • Localization and multi-market setup
  • API and product integrations
  • Security review before launch
  • Full AEO strategy
  • Timeline agreed in scope
  • 60 days of post-launch support
Book a scoping call

90+ on mobile, or I keep working for free.

Before kickoff we agree on the pages that matter most. At launch I measure them with Lighthouse on mobile. If any of them scores under 90, I keep working on it at no cost until it does.

Excludes third-party scripts you choose to keep, such as chat widgets, heavy trackers, and embedded video players. I flag every one of them in the audit, with what it costs you in speed.

Lighthouse, mobile

Included in every project

  • A URL inventory and redirect map, checked before the switch
  • A staging URL where you review everything first
  • Forms, analytics, and tracking connected and tested
  • Code and hosting on your accounts, not mine
  • Before and after reports with the raw Lighthouse data
  • The 90+ mobile guarantee

Not included

New copywriting, rebranding or logo work, smart contracts and dApp functionality, translations, and third-party plans like hosting or CMS seats. I can bring in a specialist for any of these, quoted separately.

After launch

Your site stays fast after I hand it over. Care plans are available to every client once the project ships.

Care retainer

Care+

$1,500 / month

  • Weekly reports and alerts when a score drops
  • Up to 20 hours of changes, new pages and sections included
  • A/B tests

Pricing questions, answered.

Because templates are where the work is. Fifty pages built on five layouts take less time than ten pages with ten unique layouts. Content moves with scripts, so a blog with 300 posts costs the same as one with 30.

Most sites land in one of them. If yours sits between two, the audit tells us which, and you get a fixed quote before anything starts. If it needs more, it goes into Protocol and gets scoped line by line.

Astro ships almost no JavaScript by default, so pages paint fast on a phone without a fight.

Not when the redirect map holds. I keep every URL that earns traffic at the same path, diff the old and new sitemaps before the switch, and watch Search Console through the first month.

Yes. Your content lives in Sanity, a headless CMS your team edits in the browser, and I set it up before I write the first component. Publishing without a ticket is a requirement, not an extra.

Yes. The repository, the hosting, and the Sanity project sit on your accounts from day one. Nothing on the site needs me around to keep running.

For most marketing sites, close to nothing. A static Astro site runs on the free or entry tiers of Vercel, Netlify, or Cloudflare. Sanity has a free plan that covers many marketing teams, and if yours needs a paid one, I list it in the quote so there are no surprises.

Tell me about your site.

Send the URL and the part that bothers you. I reply within a day with what I would fix first and which package it lands in.

Let’s talk