This website
The site you are reading is the demo — every word on it is editable.
Both our own sites run on the same content platform we build for clients: a Postgres-backed console where every string, list and card on the public pages is editable, alongside the blog, the product pages and an API for writing posts programmatically. Nothing here is hard-coded into a template that only a developer can change.
Most agency websites are a template with the copy baked into the markup. Changing a sentence means a developer, a pull request and a deploy. We did not want to sell that, so we did not build it that way — and the easiest way to show you is to point at the two sites we run ourselves.
Every word, not just the blog
The console covers the whole public surface: the hero headline, the service cards, the process steps, the statistics rail, the footer addresses, the calls to action, the empty states. Repeating things — cards, steps, principles, registration rows — are edited as lists you can reorder and extend, not as a blob of HTML.
Defaults in code, overrides in the database
Each field's original copy lives in the codebase and the database holds only genuine edits. Clear a field and it falls back to what a developer wrote; change the default in a release and it reaches every page nobody has overridden. A malformed row falls back too, so a bad value cannot take a page down. Content that can only come from a database is content that can go blank in production.
Writing, with the SEO work built in
Articles are written in a rich text editor with image upload, tags, and per-post title, description, keywords and canonical URL — with a preview of the search result as you type. Saving revalidates the affected pages, so a change is live in seconds rather than at the next deploy.
And an API, because people are not the only authors
Scoped API keys let a script or an agent publish directly. Send Markdown, get a live page. Keys are stored as hashes, carry scopes, and can be revoked without being deleted so the trail survives.
Capabilities
Whole-site content editing
Headings, paragraphs, buttons, list items and card decks across every public page — not a blog bolted onto a static brochure.
Safe by construction
Defaults live in code. A cleared override falls back, and so does a malformed one, so editing can never leave a page blank.
Reorderable lists
Repeating content is edited as structured rows you can add, remove and reorder, each with its own labelled fields.
Rich text with real SEO fields
Per-post title, meta description, keywords, canonical URL and social image, with a live preview of the search result.
Publishing API
Scoped, revocable keys and a REST endpoint that accepts Markdown, so an agent can write and publish without the interface.
Instant publication
Saving revalidates exactly the pages affected, so an edit is live in seconds without a rebuild or a deploy.
Screens
What it looks like in use.
Select any screen to view it full size. Use the arrow keys to move between screens and Escape to close.
Every field on the public site, grouped by the section it belongs to. Edited sections are marked, and each can be reset to the copy written in the code. Writing an article: rich text with image upload, tags, and the SEO fields beside it rather than buried in a settings tab. Product pages are edited the same way — screenshots, capability cards and store links as reorderable rows. Scoped API keys for publishing without the interface. Shown once at creation and stored only as a hash. The overview: what is published, what is still a draft, and what has come in through the contact form.