# CMS for Remix sites, content, not just data.

> Remix is built for data, not content. CMS Brew adds the missing piece: your client edits the copy by chat, and every publish is a plain commit your host rebuilds from.

## Your client edits the page, not a form. Risky changes wait for you.

CMS Brew maps the text and images in your route modules and components, and the client edits them on the page or in chat. Per-field guards decide what publishes on its own and what waits for you.

- No loader, content source, or schema to wire
- Route modules, components, and dynamic routes like blog/[slug]
- New pages, layout, and code go to you, in the client's words

## CMS Brew vs Traditional headless CMS, side by side

| | CMS Brew | Traditional headless CMS |
| --- | --- | --- |
| Integration work | Connect the GitHub or GitLab repository. That is the setup. | Install an SDK, model a schema, and load content through a loader. |
| Where content lives | In your repository, in the route modules and components Remix already renders. | In the vendor's database, behind their API. |
| What the client learns | Nothing. They type what they want changed. | The studio UI and your content model. |
| Publishing | One commit; Vercel, Netlify, or Cloudflare rebuilds as usual. | A webhook from the CMS triggers your builds. |
| Review before publish | Per-field guards and a review queue, included. | Roles and approval workflows, usually on higher tiers. |
| Cost model | $39/mo for 5 sites, unlimited editors. | Per-seat pricing that grows with every editor you invite. |

## Where the other option wins

If the site is genuinely data-driven, a catalog, a dashboard, thousands of entries, that content belongs in a database or a traditional headless CMS, and Remix loaders are the right way to fetch it. CMS Brew is for the marketing copy around it: the pages, the headlines, the images a client wants to change without calling you.

## FAQ

### Does CMS Brew work with content hardcoded in my Remix routes?

Yes. That is the common case, and it is exactly what CMS Brew maps: the editable text and images inside your route modules and components. It handles dynamic routes like /blog/[slug] per page, and a brand-new page or section is an out-of-scope request that gets escalated to you.

### What about content my loaders fetch from a database?

CMS Brew edits the content that lives in your repository, the copy in your routes and components. Data your loaders pull from a database or an external API is owned by that source, not the repo, so CMS Brew leaves it untouched. Most delivered marketing sites keep their copy in the repo, which is what it edits.

### Which hosts does CMS Brew support?

Vercel, Netlify, and Cloudflare, with live previews built into the editor. Because every publish is a plain commit, publishing works with any host that rebuilds your site from Git.

### What happens when the client asks for a new page or a redesign?

The editor refuses it and routes it to you with the client's original message attached, by email or Slack if you have escalations configured. The client gets a clear answer, and you get the work request instead of a surprise on the live site.

### Does CMS Brew also work for my non-Remix sites?

Yes. The same account covers Next.js, Vue, SvelteKit, Astro, Nuxt, Gatsby, and Hugo sites, so one tool can carry your whole client portfolio. Pricing is per connected site: $39 per month includes 5.

---

- [Home](https://cmsbrew.com/)
- [Features](https://cmsbrew.com/features)
- [Full product details](https://cmsbrew.com/llms-full.txt)
