SOURCE AVAILABLE · PHP · ZERO DEPENDENCIES
Static sites your clients can edit.
Drop it into the site you've already got, or start fresh — either way you get an admin panel for a static site: no database to secure, no build step to run, and nothing server-side on the page a visitor loads.
- −A database to secure, back up, and keep patched
- −Plugin updates on a schedule you didn't choose
- −A login screen for bots to find and hammer
- −Hosting cost climbs as the site grows
- ✓No database. Nothing to migrate, nothing to lose
- ✓No plugins. No updates to schedule
- ✓No server code on the page a visitor loads
- ✓Runs on the cheapest hosting there is
One setup. Then it's just content.
You wire up the templates once. After that, the client never touches code.
$ git clone https://github.com/magnabytes/chassy-cms
$ cd chassy-cms
$ php -S localhost:8080
- Drop the repo into
public_html/ - Import the existing
index.html - Swap static text for
{{placeholders}} - Define fields through the UI
- Hand over the login
- Log in to
/admin/ - Click a page: Home, About, Menu
- Edit text, upload photos
- Click "Publish Live"
- Site is live. No rebuild step to run
What it does
Drop-in setup
Works on Apache, nginx, OpenLiteSpeed, and Caddy out of the box. Copy the files into an existing web root and it runs.
Works with the site you already have
Import your existing index.html straight from the admin panel — even if it's been live for years. Your markup and CSS stay exactly as you wrote them.
Auto-scaffolding
Replace a paragraph with {{about_text}} and save. The admin panel detects the new tag and builds the input for it.
Pure static output
Publish writes plain HTML files. The public site has no database and no PHP running on the pages a visitor loads.
Multi-user access
Admin accounts for developers, editor accounts for clients. Editors update content. Only admins touch templates and settings.
Version history
Every publish saves a timestamped snapshot. Restore any previous version in one click.
This is the whole interface.
Three screens. Nothing here you'll need a manual to find.
How it stacks up
Same job, four different sets of tradeoffs. Here's where each one lands.
| ChassyThis project | WordPressTraditional CMS | Kirby & GravRuntime flat-file CMS | Hugo, Jekyll & EleventyStatic site generators | |
|---|---|---|---|---|
| Code running on the live site | None | PHP, every request | PHP, every request | None |
| Database required | None | MySQL | None | None |
| Build toolchain or git required | None | None | None | Node, git |
| Non-technical client can edit content | Yes | Yes | Yes | Only with a separate headless CMS |
| Runs on $5/month shared hosting | Yes | Yes, slows as it grows | Yes | Needs a host that runs the build |
Free for personal and nonprofit use. Licensed for commercial.
Personal & Nonprofit
Free Forever
Blogs, portfolios, hobby projects, and nonprofits. Use it, modify it, deploy it. No signup, no license key.
View on GitHubSingle-Use Commercial
Contact for pricing
One license per client website you build and hand off. Covers a single commercial deployment.
Email licensingAgency Bulk
Contact for pricing
Unlimited client deployments across your studio. One license, every project.
Email licensingBefore you dig into the code
- Is this a subscription?
- No. It's 100% free forever for personal and nonprofit use. Commercial use is a flat one-time fee per client site or per agency. No recurring payments either way.
- Do I have to rebuild my existing site to use it?
- No. Chassy is built to drop into a site you already have — a client's five-year-old build, an agency handoff, anything. Import the existing
index.htmlfrom the admin, swap the parts that should be editable for{{tags}}, and everything else stays untouched. - Can my client break the layout or crash the site?
- No. Editors only see the fields you've defined. They can't touch templates, code, or settings.
- What if I need more than plain text fields later?
- Repeatable lists (menu items, testimonials, team members) and image fields are built in, and you can add new fields anytime from the admin. It's not built for a full blog with pagination and tags, though.