Sigil
One deployment, many client sites — the platform the rest of this portfolio is built on
Built for the agency problem
An agency running twenty client sites on twenty WordPress installs maintains twenty of everything: twenty update cycles, twenty plugin sets, twenty security surfaces. Sigil inverts that. One deployment serves every tenant, and every request for a tenant's content is checked against the tenant on the caller's token before it reaches a route.
Content, sites, commerce, campaigns, bookings, membership and CRM all arrive as plugins on the same runtime, so adding a capability for one client does not mean standing up another system.
Where it stands: Sigil runs this website and several real client sites today. It has no paying customers yet and is not yet distributed as a package you can install yourself — we are running it on our own work and our clients' first.
What ships in the platform
45 plugins on one runtime
Content, commerce, email campaigns, booking, community, CRM, documents and developer tooling — all loading into a single API process with a shared event bus.
Isolation the database enforces
PostgreSQL row-level security on 92 of 94 tables, forced so it binds the application's own database role and not just other users — a query that forgets its tenant filter returns nothing rather than someone else's rows. Two tables used to sign you in are exempt by design. A request-scoped guard sits in front as a second layer.
32 content blocks
Hero, gallery, pricing, FAQ, feature grid, testimonial, product grid, booking calendar, timeline and more. The same React components render the admin preview, the public page and the email.
66 theme presets
Plus a token-based design system, so a client site is a theme and a content tree rather than a bespoke codebase to maintain forever.
Server-rendered public pages
The renderer returns real HTML with no hydration bundle — pages work with JavaScript off, and a crawler sees what a reader sees.
Email built from the same blocks
The campaigns plugin renders marketing email through the same block components as the website, with CSS inlining, tracking and a state-machine automation runner.
Running sites for other people?
Sigil is the platform we deliver client work on. If you maintain more websites than you would like to, get in touch.