Get Started

A content system your team can actually operate

Pumpkin separates structured content from presentation, gives editors reusable blocks, and serves every page through a fast tenant website.

Explore the block manual

Content and publishing

Create predictable pages without giving up the flexibility of a real application.

Pages by slug

Publish home, about, service, location, article, campaign, and nested pages through stable URL slugs.

Learn more →

Sixteen supported blocks

Compose pages from heroes, calls to action, cards, FAQs, forms, galleries, articles, testimonials, and navigation helpers.

Learn more →

Media library

Upload tenant media once and reuse public asset URLs throughout page content and themes.

Learn more →

Form definitions

Define fields, validation, submit behavior, and success handling independently from page layout.

Learn more →

SEO controls

Manage metadata, canonical URLs, social cards, structured data, sitemap inclusion, and topic relationships per page.

Learn more →

Publishing workflow

Draft and review structured JSON content before making it available through the public page API.

Learn more →

Website and presentation

The tenant website stays on a shared, upgradeable foundation while content and themes remain tenant-specific.

Theme-driven design

Headers, footers, menus, typography, CSS variables, and block class maps come from the active tenant theme.

Learn more →

Server-side credentials

Public pages fetch content with server-only tenant credentials instead of exposing API keys in the browser.

Learn more →

Cached public pages

Next.js rendering and revalidation keep pages fast while allowing published CMS content to refresh.

Learn more →

Nested routing

A slug such as services/design maps directly to the matching catch-all website route.

Learn more →

Accessible defaults

Semantic block markup, alt text fields, keyboard-friendly navigation, and visible form labels provide a sound starting point.

Learn more →

Extensible rendering

Add new typed models and block views when a tenant needs a reusable capability beyond the standard library.

Learn more →

One model from editor to browser

1

Model

A typed JSON block defines the content contract.

2

Style

The active theme supplies classes and presentation defaults.

3

Render

The website selects the matching React block view.

4

Publish

Cached routes deliver the page from its stable slug.

See how the pieces fit together

Read the operating manual or start a managed tenant when you are ready to build.

Read the docs