Introducing Duggie CMS: the client handoff, solved in the product
A hosted headless CMS where the client owns the project and the developer never becomes the content editor.

If you build sites for clients, you know the message. A week after handoff: "Something looks weird on the homepage, can you fix it?" The client pasted from Word, or edited a field that was never meant to be touched. It is not their fault. The tools gave them a text box and no guardrails.
Duggie CMS is my answer to that. It is a hosted headless CMS built around one idea: the handoff is a product problem, not a contract problem.
How it works
The client owns the project. They create it, they pay for it, and they invite you as Admin. If they ever change developers, they do not migrate anything; they change who is invited. You are never the single point of failure for their website. Being invited to a client's project costs you nothing, on any number of projects, because the free tier and the paid slots belong to the owner.
Editors cannot break layouts. Content is one of five asset types (text, HTML, JSON, image, document), each with rules you set: allowed HTML tags, required JSON fields, image dimensions, required alt text. The visual editor only exposes what the rules allow. If a piece of content cannot be represented safely, the editor says so and refuses to save rather than silently stripping markup.
Nothing goes live without publishing. Draft, review, publish. Version history with one-click restore. Every change lands in the activity log with who, when, and a diff. Webhooks fire on publish, unpublish, enable, disable and delete, signed with a shared secret, so a static site generator can rebuild on the same event.
Preview on the real site. A short-lived preview token renders draft content on the live site. No staging server to maintain.
A plain REST API. Fetch content with a Client key from the browser or a Secret key from the server. No SDK. Paid projects have no API metering and no overage charges.
Operational controls. Key rotation with a promote step so you never have downtime. A kill switch that stops the content API for a project without touching the keys.
What it is not
Duggie CMS has no relational content modeling. If you need a CMS that models posts, categories and authors, or a structured directory, it is not the right tool. The Content API returns one flat JSON object and stays that way on purpose. When you need structure, a JSON asset with field rules is how you build it.
It is built for the brochure site, the portfolio, the landing page, the marketing site with a few dozen fields a client should be able to edit safely.
Pricing
One free project per account: 50 assets, 250 MB, 2 members, and a 50,000 request monthly allowance. Paid projects are $29 per month each, with a founding rate of $19 per month on your first paid project, locked in for as long as the subscription stays active. Paid projects have no API metering and no overage charges, and there are no per-seat fees on any plan. The client pays for their own site; you do not carry it. Full details at duggiecms.com/plans.
Paid plans are not open for signup yet. The prices above are real, but the button on the plans page puts you on the waitlist rather than taking a card. Early access goes out by invitation from that list.
Try it
The demo needs no signup: duggiecms.com/?demo=true. Docs are at duggiecms.com/documentation. Questions, bugs, and things you have built go in r/duggieCMS.

