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 manualContent 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
Model
A typed JSON block defines the content contract.
Style
The active theme supplies classes and presentation defaults.
Render
The website selects the matching React block view.
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