Solutions · CMS · Canarlo
Next.js 16, Supabase, TypeScript. An editorial system real teams use — draft, review, schedule, publish — with content types modelled on how you write, not how WordPress thinks. No plugin tax, no Webflow lock-in, no monthly per-editor seat.
Who this is for
Forty-three plugins, a security advisory every Tuesday, an editor who cannot preview a draft without breaking the build. We rebuild on Postgres, fold the workflow back into one tool the team actually uses.
Marketing pages and product pages diverged into two stacks. Two deploy pipelines, two design systems, two outages. We bring editorial into the same repo — one stack, one design system, one diff.
Free, paid, partner-tier — three audiences, three views of the same article. WordPress charges per-membership-plugin. We model access at the row in Postgres and never look back.
What we ship
Foundations
Editor accounts, author accounts, reviewer accounts. Email, magic link, TOTP. Every login event logged. Roles enforced at the database, not in the editor UI.
Author sees their drafts. Editor sees the section. Member-only content gated at the row. Enforced in Postgres — never in the page that renders the article.
Full-text plus trigram fuzzy matching across articles, authors, tags. Editors find the draft from last March without remembering the title. Indexed at the database layer.
Every publish, unpublish, edit, rollback captured with actor, target, before and after. The trail your legal team needs to settle a takedown question.
Structured JSON logs with PII redacted. Sentry wired before launch. Page-load and indexing dashboards live day one — not retrofitted after a Google update.
Every pull request gets a live URL. Editors preview the new template before it touches production. Tests gate merges, rollback is a button.
Your Vercel team, your Supabase project, your domains, your keys. We deploy with your credentials and walk off at handover. Your archive, your control.
Recent build
Built on canarlo-core
The site you are reading. Articles, projects, services, FAQs — block-based pages, draft/publish workflow, structured data on every URL, full-text search across the archive. Built on canarlo-core, shipped to production, edited by us without a developer in the loop.
Tech stack
Our process
Step 1
01
One scoping call, then a written brief. Content types, editorial states, role matrix, scheduled publish rules — on the page. Two weeks. No workshops.
Step 2
02
Schema, API surface, build plan. Block model, taxonomy, SEO primitives, redirect strategy named. Two weeks. You sign off before code is written.
Step 3
03
Eight to twelve weeks. Weekly demo on a real preview URL. Editors click around two weeks before launch. You can read the diff every Friday.
Step 4
04
Content migration run against a real export. DNS cut-over with redirects in place. Handover doc names the failure mode and the on-call step.
Step 5
05
Optional retainer — security patches, dependency updates, new content types as editorial evolves. From £500 a month. Same engineer. Cancel any time.
Parent service: Web Apps
Pricing
Fixed fee, scope written down before billing starts. £25k buys a focused editorial CMS with one content model and an SEO baseline. £50k buys multiple content types, scheduled publish, member-gated content. £80k buys a multi-site editorial platform with workflow, redirects, and a real archive migration.
Full pricing rationale and cost breakdown: How much does AI engineering cost?
Frequently asked
WordPress fights you on security and scale. Contentful and Sanity bill per editor and per environment, then again per locale. A custom CMS encodes your content model — articles, products, case studies, whatever — into your own database. No per-seat tax, no headless-vs-headed schism, no plugin auction. The editor's interface is built around the model, not the other way round.
Yes. Draft and published states on every entity, preview URLs that render the draft on the real layout, full revision history with diff and one-click revert. Scheduled publish, scheduled unpublish, embargoes. The editor sees what the reader will see — not a stripped-down preview that lies.
Built in. Per-entity meta title, description, canonical, OG image. Auto-generated sitemap with lastmod. JSON-LD on every page type — Article, FAQ, Breadcrumb, Product. Server-rendered, so crawlers see the content, not a JavaScript shell. Redirects table for migrations. Robots.txt under editorial control. The SEO baseline a security review would expect — already there.
Yes. Author, editor, publisher, admin — or whatever role model fits your workflow. Per-collection permissions: marketing edits articles, legal edits policy pages, neither touches the other. Audit log on every change with who and when. Approval flows where revisions need sign-off before publish.
You. Content lives in your Postgres, in your region, with your backups. Export every article to markdown on demand. Media in your S3 bucket, not a third-party DAM. No vendor egress fee, no hostage situation if you switch tools. UK GDPR data residency honoured by construction.
Start here
Twenty-minute call to map your content model. Proposal in your inbox inside forty-eight hours.