Why your CMS should not know what a hero section is
Page-shaped content models feel productive for about six weeks. Here is what to model instead, and how to tell when a field is describing meaning rather than layout.
Nuxion pairs a fast Nuxt frontend with a fully editable Sanity Studio — flexible sections, built-in theming, and zero rebuilds needed to update content.
A component-driven starter with real theming, accessible forms, built-in SEO, and a full blog — every section editable from the Studio.
Compose pages from 20+ ready-made blocks — heroes, galleries, forms, FAQs, testimonials and more.
Colours, fonts and button styles are managed in Sanity and applied instantly as CSS variables — no redeploy needed.
Auto-generated TypeScript types keep your schemas and components in sync, catching mistakes before they ship.
“We shipped our marketing site in days, not weeks — and our editors actually enjoy using the Studio.”
“The built-in theming meant a full rebrand without touching a line of code.”
“Clean architecture, real test coverage, and documentation that actually answers our questions.”
Yes — run `npm run scaffold:component -- custom.my-block` and the schema, Vue component and registrations are generated for you automatically.
Yes — full static generation is the default, with Netlify and Vercel deployment presets included out of the box.
Run `npm run setup:project` for a guided one-command setup — it installs dependencies, walks you through your environment variables, and can import this demo content so you have something to work from right away.
The README covers quick start and common commands, `COMPONENT_CREATION_GUIDE.md` walks through building new blocks, and `TYPESCRIPT_GUIDE.md` explains the generated-types workflow.
Run `npm run staticnuxt` for a full static build, or deploy directly — Netlify and Vercel presets are already configured in the repo.
Have a question or want to work together? Send us a message and we'll get back to you.
Notes on content modelling, performance and theming — written while building this starter.
Page-shaped content models feel productive for about six weeks. Here is what to model instead, and how to tell when a field is describing meaning rather than layout.
Prerendering makes a site fast and cheap. It also quietly bakes every assumption your code makes about the request into the HTML you ship.
When an editor picks a brand colour, half a dozen derived values have to stay legible. Here is how to derive them once instead of hard-coding them everywhere.
Open the Studio, start editing this page, and make it your own — every section here is just a block.