> I build Astro and Next.js websites from your Figma designs, with Sanity, Storyblok or another headless CMS. Content migration and editor training included.

Canonical: https://augustynglowacki.com/services/website-with-a-headless-cms

# Website with a headless CMS

Your editors can move a section in a visual editor and publish it themselves.

I design and build the site on the CMS you pick, including the content model, migration and editing workflow. See [projects built this way](/work).

For a project, I can bill for the time spent or agree a fixed price for a defined scope. For ongoing development each month, choose a [website retainer](/services/website-maintenance-retainer).

[Talk about your CMS](#lead-form)

Next.js, Astro, Sanity, Storyblok, Payload CMS, Contentful, Cloudflare

## Figma designs ready? I'll build the website.

I architect your website's codebase, content model and editing experience. I [lead frontend delivery at Bejamas](/about), making architecture decisions and reviewing production code. No Figma file? I can also design the website directly in the browser.

- Editors change the website without developer help: I set up reusable sections and a live preview so editors can build pages, rearrange content and publish changes themselves. See [the ECCA editing workflow](/work/ecca-conference-platform).
- A codebase ready for coding agents: I document the architecture, content model and editing rules in AGENTS.md. ESLint rules check code conventions, giving developers and coding agents the same requirements.
- Optimized for Core Web Vitals: For most marketing websites I use [Astro](https://docs.astro.build/en/concepts/islands/), now [part of Cloudflare](https://astro.build/blog/joining-cloudflare/). It ships no client-side JavaScript by default, so content pages can load without the React runtime used by [Next.js](https://nextjs.org/docs/app/getting-started/server-and-client-components).
- Experience in technical SEO, GEO and accessibility: Working on enterprise websites has taught me to spot details that are easy to overlook, such as keyboard navigation on the site.

[Discuss your Figma build](#lead-form)

## How reusable sections work in Sanity

On the [ECCA conference platform](/work/ecca-conference-platform), the images grid, the call-to-action and the two-column section are reusable Sanity blocks, and the Studio flags when an edit to one will ripple across every page reusing it. ECCA edits the agenda, speaker profiles, sponsor logos and gallery with no developer on call.

## Your editors see the real page while they edit it

Sanity's Visual Editing shows the ECCA gallery page next to its description and image fields. Editors check their changes before publishing.

## From brief to launch

### You send the brief

Your Figma designs if you have them, the CMS you are on or considering, and what your editors need to build on their own.

### We agree the scope and billing

A small site starts at 3,000 USD excl. VAT. I estimate the work and agree whether to bill for time spent or set a fixed price for the scope before work starts.

### You review the build as it progresses

I share previews for review and take the site live when the agreed work is ready.

## Questions, answered

### What does a website with a headless CMS cost?

A small site, such as the [ECCA conference platform](/work/ecca-conference-platform), costs from 3,000 USD excl. VAT. The estimate depends on the pages, design, integrations, migration and editing workflow. I agree the scope and billing with you before work starts.

### Can I choose hourly billing or a fixed price?

Yes. Project work can use time and materials, billed for the hours spent, or a fixed price for an agreed scope. Project work is 75 USD an hour excl. VAT. I estimate the work and confirm the billing model before you commit.

### Should I use a project contract or a website retainer?

Use a project contract for a particular build, billed by time or at a fixed price. A [website retainer](/services/website-maintenance-retainer) reserves engineering hours each month for ongoing development, maintenance, bug fixes and updates. It can also cover a larger build spread across several months.

### What is never included?

Copywriting and entering new copy - I migrate your existing content and train your editors to add the rest. SEO strategy. A brand identity built from nothing. Ongoing development and maintenance after the 14 days of support can continue through a [website retainer](/services/website-maintenance-retainer).

### Can you build my website without Figma designs?

Yes. I can develop the design directly in the working website, using your brand, content and feedback. You review previews at real screen sizes. I designed and built [this website](/) without Figma or an external designer. I do not deliver a separate Figma file.

### Can you build a website from my Figma designs?

Yes. I build from approved Figma designs using Astro or Next.js and connect the pages to Sanity, Storyblok or the headless CMS agreed for the project. I review the designs before estimating the build.

### What should my Figma file include?

Send access to the approved page designs, mobile layouts, fonts and image assets, plus notes on interactions. I flag missing layouts or states before I agree the build scope.

### Can you work with my designer?

Yes. I can discuss components, responsive layouts and interactions with your designer, then share previews for review during the build.

### How much content will you migrate?

By default I aim to migrate all of your content. I review the volume and sources before you sign, then include the migration scope and estimate in the agreement.

### Which CMS do you use?

I most often use Sanity. When you want an open-source CMS you host yourself, I use Payload CMS. The platforms shown here are examples, and I pick the one that fits your team. I can build on another CMS after reviewing its API, editor workflow and migration needs.

### Can I host the CMS myself?

Yes, with Payload CMS. Payload is open source under the [MIT licence](https://github.com/payloadcms/payload) and runs on your own server or cloud account, with the content in a database you control. You pay no CMS subscription, and you pay for hosting and keep the server updated instead.

### What does schema-as-code mean here?

I keep the content model in version control, instead of as fields set up by hand in the CMS interface. Each new section type goes through code review. See [why the model matters](/posts/no-cms-does-not-mean-no-content-model).

### What does the AI layer add?

A developer or coding agent can continue the work with documented project rules. I include an AGENTS.md covering the architecture and content model, ESLint rules for code conventions, TypeScript checks and tests. Changes go through pull requests and engineer review before release. I use Claude Code and Codex in my own work, with the same checks and review.

### Does an audit or a rescue diagnosis come off this price?

Yes. 50% of a [website audit](/services/website-audit) or [rescue diagnosis](/services/vibe-coded-rescue) fee comes off a full rebuild of the site it looked at.

### Who owns the code when the project ends?

You do - the repository, the code, the schema and the content model, with a handover session when you want one.

### What if the scope is bigger than one engineer?

I say so early and introduce you at [Bejamas](https://bejamas.com/), where I work day to day.

### What happens after I send the form?

I reply within one business day. I ask which CMS you are on or considering and what your editors need to build on their own, then send the scope, estimate and proposed billing model before any work starts.

## Talk about your CMS setup

Contact form on this page: name, email, and what you need. [Talk about your CMS](#lead-form).
