---
title: "Composable Page-Builder Modules | SanityPress"
description: "Assemble every page from reusable modules — one schema, one component each. Reorder them like blocks and stop rebuilding the same sections for every client."
---

# You've built this hero before.

Assemble pages from reusable modules instead of scaffolding the same sections for every client.

## Build from modules. Not from scratch.

Every page is assembled from reusable modules you reorder like blocks.

A module is one schema and one component. Each carries its own options and a [CSS field](/features/styling) for per-module styling, and you register it once to use on any page in any order.

Stop rebuilding the same card grid and the same CTA buttons for the fifth client this quarter.

[🚀 Get started today](/docs/getting-started)

![](https://cdn.sanity.io/images/cyu7k2r0/production/af8db16d3b3b9eb85d58d88eb44a13ef861199d3-2212x2122.png)

## Frequently Asked Questions

### What is a module, exactly?

Two things that move together: a Sanity schema and a React component. Add it once and it's available on every page.

### Does each module have its own options?

Yes. Most modules expose options specific to what they do, plus a scopedCss field to style that one module without affecting the rest. More on the [styling model](/features/styling).

### Can I reorder modules per page?

Yes. Pages hold an ordered array of modules, so editors rearrange the layout without a developer.

### Can I add my own modules?

Yes. Extend an existing one, build a new one from scratch, or have [Claude build it for you](/features/agents).

## Start from done.

[🚀 Get started today](/docs/getting-started)
