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.
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.
First-party integrations, built for isolation
First-party plugins include Google Analytics, Table of Contents, Newsletter Mailchimp integration, and more — each running in an isolated TypeScript scope that can't reach another tenant's data. Outbound webhooks cover the rest: point post-publish, member, and payment events at your own automation.
// 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 minutesYour /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. The plugin SDK (@velocms/plugin-sdk) that powers our first-party integrations is MIT-licensed and published on npm, though third-party plugin development isn't an open program yet.
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?
Not yet as an open program. VeloCMS ships first-party integrations (Google Analytics, Table of Contents, Newsletter Mailchimp, and more) built on an isolated-scope TypeScript SDK, so a plugin can never reach another tenant's data — but third-party plugin development isn't open to outside developers today.
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. You manage your own webhook subscriptions from the dashboard — pick event types, inspect delivery logs, and manually retry a failed delivery.
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.
What's the licence model?
The VeloCMS application itself is proprietary — managed SaaS only, no self-hosted core, no source access. The plugin SDK (@velocms/plugin-sdk) and CLI tooling that power our own first-party integrations are MIT-licensed and published on npm, though we're not yet running an open program for third-party plugins or themes. 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.
Run a free technical SEO, performance, and migration-readiness audit — no signup required.Audit my site
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.