Case 03 · Platform

Build without
limits.

Veltrix is the content platform we wrote from scratch — a self-hosted CMS and visual website builder that runs many sites from one core, and grows through plugins and themes without anyone touching that core.

Veltrix — brand mark
01 // Role
Architecture · Product · Engineering · Brand
02 // Platform
Self-hosted CMS — Node and PHP editions
03 // Year
2026
04 // Status
Private release · 2.x

A The brief

Client sites kept outgrowing the same compromise: a CMS that is easy to start with, then a stack of add-ons for page building, SEO, security and backups — each with its own updates, conflicts and blind spots.

A.2 What it had to do

  1. 01Build the essentials in: builder, SEO, forms, search, backups, firewall
  2. 02Freeze the extension points so a plugin written once keeps working
  3. 03Run on premium cloud hosting and on ordinary shared hosting
  4. 04Multilingual from day one — right-to-left included

B · Visual builder

Blocks in. Pages out.

Thirty-seven blocks, placed and published — and every page speaks five languages, right-to-left Arabic included. Add a block, or switch the language.

VELTRIX // PAGE BUILDER
Published

Blocks

  • Hero on page

+ 29 more blocks

4 on page · 37 available

HomeWorkContact

Build without limits

One platform for every site you run.

Get started

Everything built in

BuilderSEOBackups

“We launched three sites in a week.”

Plans

StarterStudioAgency

Questions

Can I import my WordPress site?

Does it run on shared hosting?

Contact us

NameEmailSend

Ready to launch?

Get started

C · Architecture

One core. Frozen contracts.

A strict TypeScript monorepo of 35 packages behind two apps. Plugins and themes reach the core only through interfaces frozen for the whole 2.x line — checked on every build — so the core keeps moving without breaking the sites built on it.

VELTRIX // SYSTEMCore 2.20 · Edition Node

Sites

  • studio.example
  • shop.example
  • docs.example
  • fr.example

Every site served from one core

Plugins & themes

  • PluginBookings✓ signed · working
  • PluginNewsletter✓ signed · working
  • ThemeStudio theme✓ signed · working

2.x contract — frozen. Plugins and themes reach the core only through these interfaces; pnpm check fails the build if one changes.

Core · 35 packages · strict TypeScript

  • Content
  • Media
  • Builder
  • Blocks
  • Themes
  • Plugins
  • Forms
  • Search
  • SEO
  • Schema
  • Revisions
  • Scheduling
  • Backups
  • Restore
  • Firewall
  • REST API
  • Webhooks
  • CLI
  • i18n
  • Multi-site
  • Auth
  • Sessions
  • CSP
  • Importer
cmsNext.js 16 · React 19
workerJobs on pg-boss
PHP editionSame schema & API · runs without Node
PostgreSQL 17 · Drizzle ORM · full-text search

Try an upgrade — the plugins above the contract never notice.

D · Capabilities

What it does.

01Visual page builder
37 blocks with revisions and scheduled publishing — no add-on required.
02SEO built in
Schema, sitemaps and an on-page analysis that runs as you write.
03Multilingual, multi-site
English, French, Arabic, German and Spanish; many sites, each in its own time zone.
04Backups & restore
Full and incremental backups with restore from the admin.
05Request firewall
A perimeter in front of every request, built into the core.
06API, webhooks & CLI
A versioned REST API, webhooks and the vx command-line tool.
07WordPress importer
Existing content moves across without a rebuild.
08Signed plugins
Plugins ship as signed packages and install through the same frozen interfaces.

E · Engineering

How it’s built.

  1. 01

    Two editions, one site

    A PHP edition runs on hosting without Node — and renders the public site byte-for-byte against a 62-page reference corpus.

  2. 02

    Secure by default

    Argon2id password hashing, built-in sessions, and a content security policy with per-request nonces on every response.

  3. 03

    Decisions on record

    Around fifty architecture decision records, numbered security reviews and a defect log — the reasoning survives the people.

  4. 04

    Accessible in both themes

    Contrast is tested automatically in light and dark, so the admin stays readable either way.

Stack

  • TypeScript 5.9
  • Node 24
  • Next.js 16
  • React 19
  • PostgreSQL 17
  • Drizzle ORM
  • pg-boss
  • Tailwind 4
  • TipTap
  • Turborepo
  • PHP edition

Brand system

  • Cyan#09F2FC
  • Blue#0071FB
  • Indigo#1F3FFB
  • Violet#B448FC

F · Impact

By the numbers.

37
Blocks in the visual builder
35
Packages in one strict monorepo
5
Languages, right-to-left included
62
Pages in the byte-for-byte parity corpus

Have something ambitious in mind?

Tell us what you’re creating — we reply within two business days.

↯ Quick contact

Just a quick question?

Ask anything — we reply within two business days.