Built for SaaS and engineering blogs

The CMS for
engineering teams.

Syntax-highlighted code blocks with copy buttons, a live table of contents, IndexNow on every publish, changelog post type, and a Lighthouse 97 score — all included without a plugin.

TypeScript
// VeloCMS auto-submits to IndexNow on every publish
await publishPost({ id, slug, status: "published" });
// → POST https://api.indexnow.org/indexnow
// → Bing crawls your post in < 10 minutes

Built for the technical blogger

From syntax-highlighted code to changelog posts that rank — every feature a developer blog needs.

Syntax highlighting with copy-to-clipboard

The TipTap editor stores code blocks with language detection via lowlight. Every rendered code block shows a language badge (TypeScript, bash, JSON) and a one-click copy button. Clicking 'Copy' puts raw code — no HTML entities, no syntax spans — directly on the clipboard.

Changelog post type

Create a new post, select Changelog entry from the post-type selector, and it automatically receives the changelog tag on publish. Your /changelog route renders all tagged posts in reverse-chronological order — no tribal knowledge required. The SaaS onboarding flow includes a changelog guidance note from day one.

IndexNow on every publish

VeloCMS submits your post URL to Bing IndexNow the moment you hit Publish. Bing, Yandex, and other IndexNow participants pick up new content in minutes rather than days. Combined with the AI-first SEO scoring in the editor, your release notes rank before your competitors' crawlers have even woken up.

Sub-1s LCP on engineering content

The Engineering theme averages 97/100 on Lighthouse Performance in our benchmark suite. Server Components mean zero client-side waterfall. Code blocks are server-rendered HTML with CSS highlighting — no JavaScript syntax highlighter running in the browser on every page load.

Engineering and Terminal themes

Two themes designed for developer audiences: Engineering (clean, functional, with a sticky live TOC sidebar) and Terminal (monospace, high-contrast, dark-first). Both render code blocks with the same copy button and language badge. Activate with one click in Admin > Themes.

Plugin API for advanced customisation

First-party plugins include Google Analytics, Table of Contents, Newsletter Mailchimp integration, and more. The plugin SDK (TypeScript, isolated from tenant code) lets advanced operators build custom integrations. See the developer portal for the current API reference and roadmap.

Your /changelog is one post type away

Create a post, select Changelog entry from the post-type dropdown, and publish. VeloCMS automatically applies the changelog tag and the post appears at /changelog — properly formatted with version, date, and change details. No documentation for your team to read, no tribal knowledge about which tag to add. It just works.

Combined with IndexNow, your release notes are indexed by search engines within minutes of publication. Developers searching for your SDK's changelog find your official notes — not a third-party summary from someone who scraped your GitHub releases.

Numbers developers care about

<1s

LCP (p75)

97

Lighthouse Performance

<200ms

TBT

0

Plugin vulnerabilities

Frequently asked questions

Can I export my data, or am I locked into VeloCMS?

Every post, media file, subscriber record, and settings blob exports as JSON or CSV straight from the admin panel — no proprietary format, no support ticket to open first. If you're building on top of VeloCMS, the plugin SDK (@velocms/plugin-sdk) is MIT-licensed, so you can build and ship extensions without restriction.

What's the tech stack under the hood?

Next.js 16 (App Router, Server Components), React 19, TypeScript strict mode, Tailwind CSS v4 with OKLCH colors, PocketBase v0.36 (SQLite-backed), Cloudflare R2 for media, and Google Gemini for AI features. Deployed on Railway with Cloudflare DNS. No Node.js monolith — PocketBase is a separate binary.

Can I extend it with custom plugins?

Yes. The plugin SDK exposes a TypeScript interface for registering admin UI panels, editor blocks, and webhook handlers. First-party plugins (Google Analytics, Table of Contents, Newsletter Mailchimp) ship as examples. Custom plugins run in isolated scope — they can't access other tenants' data.

Is there a REST or GraphQL API?

PocketBase exposes a REST API for every collection out of the box — full CRUD, filtering, sorting, pagination, and real-time subscriptions via SSE. VeloCMS adds a typed SDK layer on top. GraphQL isn't offered natively, but you can wrap the REST API with a thin Apollo proxy if your client stack requires it.

Does it support webhooks?

Yes. Outbound webhooks fire on post publish, member subscribe, and Stripe payment events. Inbound webhooks from Stripe are verified with HMAC-SHA256 and processed idempotently. The GitHub webhook integration drafts a post from a tagged commit body — a pattern common in build-in-public workflows.

What does VeloCMS run on?

VeloCMS runs as two services — a Next.js frontend and a PocketBase backend — deployed on Railway with Cloudflare R2 for media. You don't provision or manage either one: sign up, connect a domain, and the infrastructure is handled. If you want to build on top of the platform, the plugin SDK (@velocms/plugin-sdk) and CLI tooling are MIT-licensed and open for anyone to use.

What's the licence model?

The VeloCMS application itself is proprietary — managed SaaS only, no self-hosted core, no source access. What's genuinely open: the plugin SDK (@velocms/plugin-sdk) and CLI tooling are MIT-licensed, so you can build and publish plugins, themes, and integrations without restriction. SaaS subscription covers managed hosting, Cloudflare CDN, automatic updates, and priority support. And your data isn't locked in either way — posts, members, and settings export as JSON or CSV from the admin panel any time.

How does it differ from Strapi or Sanity?

Strapi and Sanity are headless CMSes that require a separate frontend. VeloCMS is a full-stack blog platform — Next.js frontend, blog-specific editor, themes, and PocketBase backend are all one coherent system. You don't assemble it from parts. The trade-off: less flexible for non-blog content, but zero integration overhead for the blogging use case.

Ship the blog. Ship the changelog. Ship the docs.

All three on one stack, one subscription, one custom domain. 14-day trial, full export, zero platform fee.

Start building

Long-tail content portfolio

100 niches. One CMS.

VeloCMS ships dedicated landing pages for 100 expert communities — photographers, beekeepers, ceramicists, philatelists, fountain-pen collectors, and 95 more. Each in its own vocabulary.