Necessary · multi-tenant CMS

Because a website is necessary.

Publish pages. Run events with first-party registration and waitlists. Let residents book your meeting rooms. Each city, library, or department gets its own branded site — powered by a single shared backend.

Currently serving
East Main Library
east-main.civic.app
active
Public Library
public-library.civic.app
active
What it does
01

Pages & navigation

Rich-text CMS pages with per-tenant nav and footer. Drafts, published states, SEO fields — edited in the Payload admin.

02

Events & registration

First-party event sign-up with capacity enforcement, automatic waitlist promotion, and one-click cancellation.

03

Rooms & bookings

Public room directory grouped by location. Conflict-checked booking requests, approved by staff.

04

Per-tenant branding

Each tenant gets its own subdomain, logo, and primary color. No new deployment required to onboard one.

05

Role-based access

Platform superadmins, per-tenant admins, residents. Scoped at the collection level so staff only see their tenant's data.

06

One codebase

Next.js + Payload CMS + Postgres. Add a tenant in the admin and it appears on its subdomain immediately.

Try it yourself
Click through the East Main Library site — register for an event, book a room, edit a page.
Open demo