Compare
An honest table.
These are good tools; most of them are why highseam’s architecture looks the way it does. Where they’re ahead, this table says so. Where highseam is ahead, it’s usually because your site is SvelteKit on Cloudflare, or because your content already lives in a SQL table you own.
| highseam | Payload | Strapi | Directus | Sanity | |
|---|---|---|---|---|---|
| Runs on Cloudflare Workers | Core design goal — Web Crypto only, identical in dev and prod | Yes — official D1 template (Next.js on Workers; paid plan for bundle size) | No — Node server | No — Node server | n/a — hosted backend |
| Sits on your existing SQL tables | Yes — table-backed collections, nothing migrated | No — owns its schema | No — owns its schema | Yes — introspects existing databases | No — content lives in its Content Lake |
| Databases | Cloudflare D1 — JSON documents or your tables (JSON file in dev) | Postgres, MongoDB, SQLite / D1 | Postgres, MySQL, SQLite | Postgres, MySQL, SQLite, SQL Server, Oracle… | Hosted Content Lake |
| Native framework | SvelteKit (Svelte 5) | Next.js (React) | Node + React admin | Node + Vue admin | React Studio |
| Configuration | One TypeScript file | TypeScript config, code-first | Content-type builder UI | Database-first, configured in the app | TypeScript schemas |
| APIs | REST + GraphQL + server-side Local API | REST + GraphQL + Local API | REST, GraphQL via plugin | REST + GraphQL | GROQ + GraphQL |
| Drafts & scheduled publishing | Yes — scheduling with no job runner | Yes | Yes | Yes | Yes |
| Localization | Per-field, with locale fallback | Yes | Yes | Yes | Yes |
| Rich text editor | Structured block editor + sanitized HTML fields — not Lexical parity | Lexical — the deepest editor in this table | Blocks editor | WYSIWYG / markdown | Portable Text |
| Collaborative editing | No — document locking instead | Document locking | No | No | Yes — real-time multiplayer |
| Image transforms | No transform service — focal point via plain CSS | Yes — sharp (constrained on Workers) | Yes — responsive formats | Yes — on-the-fly transforms | Yes — full pipeline with hotspot |
| Ecosystem & plugins | Young — a plugin API, no marketplace | Large | Huge marketplace | Large | Large |
| License & self-host cost | MIT — free, anywhere | MIT — free self-host; paid cloud | MIT core; paid enterprise & cloud | Fair-source (MSCL) — free under $5M revenue / 50 staff | Proprietary SaaS — free tier, usage pricing (Studio is MIT) |
| Track record | v1.x — one production deployment of note | Years; large install base | Years; one of the biggest | Years; mature | Years; mature |
All product names belong to their owners; comparisons are nominative and descriptive. Spot something outdated or unfair? Open an issue. This page’s job is to be right, not to win.
The short version
Pick Payload if you live in React/Next and want the deepest editor experience. Pick Directus if you need a mature data platform over arbitrary SQL databases. Pick Sanity if real-time collaborative editorial work is the job. Pick Strapi for the ecosystem and the marketplace.
Pick highseam when your site is SvelteKit on Cloudflare and you want the CMS in the same deploy, or when a CMS adopting the database you already have matters more than a marketplace you don’t need yet.