Structured content like Drupal. Page building like Puck. Setup like Ghost. AI that drafts, people who approve.
One process, SQLite or Postgres, five minutes to a published page. Roles, review, revisions and an audit log are in the open core, not an enterprise add-on.
Structured content
Content types with typed fields, taxonomies, references and media. Every save is a revision; every record has a path. Export the structure as JSON and keep it in git.
Visual page building
Pages are composed from blocks in a Puck editor and rendered on the server as plain HTML. The same block config runs in the admin and on the site.
AI that drafts, people who approve
A brand profile, page-from-brief and copy assistance, always as drafts. Agents connect over MCP with a token that cannot publish unless a person says so.
How it is put together
Spillway is one Node process. It serves the JSON API, the admin and the public pages from the same server, against one SQLite file or a Postgres database. There is no queue, no cache server and no separate renderer to run until you want them: Redis for a shared page cache and Meilisearch for search plug in when a site outgrows one machine.
The server is AGPL-3.0. The contract, the block library and the kits are MIT, so themes, blocks and integrations can be built and distributed under any licence.
Higher education
Programs, people, events with a calendar, departments that run their own section.
Government
Services, meetings, notices and projects, with SAML sign-in and an audit trail.
Nonprofits
Programs, stories, campaigns and volunteer forms that reach the CRM.
Enterprise marketing
Multisite, localization, workstreams, personalization and cookie-free analytics.
From the blog
No posts yet.
Try it on your laptop
One Docker command, the setup wizard, a kit with sample content, and you are looking at a working site.