b10cks vs. Directus
Directus wraps any database in a powerful REST and GraphQL API with a flexible data studio. It's excellent at what it does – but it's not a CMS. There's no visual editor, no content-specific editorial workflows, and no publishing model. b10cks is built specifically for structured content teams who need to publish, preview, localize, and collaborate. Same open-source philosophy. Very different purpose.
The Short Version
Directus and b10cks share a foundational philosophy: open source software, no vendor lock-in, full self-hosting, no per-seat fees for cloud, real REST and GraphQL APIs. These are real points of alignment.
Where they diverge is in purpose. Directus is a headless data platform — it connects to your existing database and wraps it in a management interface. It doesn't know what "publishing" means, or what a "draft" is, or what a "locale" is. Those are content concepts, and Directus is agnostic to them.
b10cks is purpose-built for content. Publishing workflows, draft states, localization, visual editing, version history with rollback, scheduled publishing — these are platform features, not implementation tasks.
If you need to manage structured data that isn't primarily content (inventory, user records, application config), Directus is excellent. If you're building a website, a marketing site, a documentation hub, or a multilingual product — b10cks is the tool for the job.
Feature Comparison
| Feature | b10cks | Directus (Self-hosted) | Directus Cloud Professional |
|---|---|---|---|
| Open Source | ✅ AGPLv3 | ✅ BSL / MIT | ✅ BSL / MIT |
| Self-hosting | ✅ Always | ✅ Always | N/A (cloud only) |
| Managed Cloud | ✅ | ❌ | ✅ $99/mo |
| Visual Editor (live preview) | ✅ All plans | ❌ | ❌ |
| Publishing Workflow | ✅ All plans | ❌ (custom with extensions) | ❌ |
| Draft / Published States | ✅ All plans | ❌ (no native concept) | ❌ |
| Localization | ✅ Unlimited | ❌ (DIY data structure) | ❌ |
| Scheduled Publishing | ✅ All plans | ❌ | ❌ |
| Version History | ✅ All plans | ✅ (activity log) | ✅ (activity log) |
| Rollback | ✅ One-click | ❌ (manual) | ❌ (manual) |
| Infinite Canvas Modeling | ✅ | ❌ | ❌ |
| Threaded Comments | ✅ All plans | ❌ | ❌ |
| REST API | ✅ All plans | ✅ | ✅ |
| GraphQL API | ✅ All plans | ✅ | ✅ |
| Multiplayer Collaboration | ✅ All plans | ✅ (basic) | ✅ (basic) |
| SSO | ✅ All plans | ✅ Enterprise | ✅ Enterprise |
| Custom Roles | ✅ All plans | ✅ All plans | ✅ All plans |
| Webhooks / Flows | ✅ All plans | ✅ (Flows) | ✅ (Flows) |
| Built-in CDN | ✅ All plans | ❌ | ✅ |
| Built-in Image Processing | ✅ All plans | ✅ | ✅ |
| AI Credits | ✅ All plans | ❌ | ❌ |
| Per-seat fees | ❌ | ❌ | ❌ |
| Database Agnostic | ❌ (PostgreSQL) | ✅ | N/A |
| Bring Your Own Database | ✅ (self-hosted) | ✅ | ❌ |
In Directus, a record is a record. There's no built-in concept of "draft" vs. "published" — you implement that yourself with a status field and handle the filtering logic in your frontend. There's no publish button with workflow attached to it. There's no scheduled publish queue. There's no publish/unpublish history.
This is by design: Directus is a data platform, and a database record doesn't inherently have a publishing lifecycle. But for content teams, this means your developer has to build what every CMS ships by default.
b10cks is built around the content lifecycle. Draft states, publish actions, scheduled publishing, per-locale publish control, review workflows, and approval chains — these are all platform features, not development tasks.
Directus has no localization system. To manage multilingual content in Directus, you design a data model that accommodates translations — typically by adding translation relation tables or locale-keyed JSON fields — and build the editorial experience on top of it.
This is a significant development investment: modeling, UI, locale switching, fallback logic, and import/export all need to be built. And even after that investment, your editors are working in a generic data form, not a content editor built for translation workflows.
b10cks localization is a platform feature: field-level translation control, locale inheritance, a locale switcher in the visual editor, per-locale publish workflows, and integration with Lokalise, Phrase, and DeepL. Available in every plan, zero implementation required.
Directus Studio is a data management interface — powerful for data administration, but not designed as a content editing experience. There's no live preview of how content renders in your frontend. There's no two-way binding where editors click an element on the live site to jump to that field.
Connecting a Directus-powered backend to a live preview requires custom implementation: a preview route, a preview API, and wiring up the data flow yourself.
b10cks ships a two-way-bound visual editor in every plan. Editors see their content in the live site as they type. No custom implementation.
Directus uses the Business Source License (BSL/BUSL). The BSL is a source-available license, not an OSI-approved open source license. Directus is free to self-host for most organizations — but the license converts to Apache 2.0 after four years, and production use by organizations over $5M in annual revenue requires a commercial license.
b10cks is AGPLv3 — a true OSI-approved open source license with no revenue thresholds or delayed terms. The code is open, auditable, and available to fork without commercial conditions for internal self-hosted use.
Directus models data through a schema editor where you define collections and fields. It's flexible and supports complex relationships well — it can mirror virtually any database schema.
b10cks models content blocks on an infinite canvas. You see your entire content architecture as a visual diagram — types as nodes, fields as properties, relationships as connections. For content architects, this is meaningfully faster to understand and extend than a schema list.
Directus includes Flows — a visual automation tool for building event-driven logic inside the platform (send emails, transform data, call APIs). It's genuinely powerful for data orchestration use cases.
b10cks includes webhooks with HMAC verification, delivery logging, and automatic retry. For content workflows, this integrates cleanly with CI/CD pipelines, search index updates, and external notification systems. The use cases are different but well-matched to each platform's purpose.
Pricing Comparison
| Option | Price | Users | DB Records | API Requests | Notes |
|---|---|---|---|---|---|
| Self-hosted | Free* | Unlimited | Unlimited | Unlimited | *Commercial license required >$5M revenue |
| Cloud Professional | $99/mo | 5 studio users | 75,000 | 250,000/mo | Retired Starter tier Dec 2025 |
| Enterprise | Custom | Custom | Custom | Custom | SSO, dedicated infrastructure |
Self-hosting includes all features. Cloud Professional includes managed infrastructure but retains feature parity with self-hosted.
| Plan | Price | Storage | Traffic | Requests | AI Credits |
|---|---|---|---|---|---|
| Free | €0 | 500 MB | 5 GB | 5,000 | $1 |
| Essential | €25/mo | 5 GB | 50 GB | 100,000 | $6 |
| Growth | €75/mo | 25 GB | 250 GB | 500,000 | $15 |
| Pro | €175/mo | 50 GB | 500 GB | 1,500,000 | $30 |
| Scale | €350/mo | 100 GB | 1 TB | 10,000,000 | $60 |
Every plan: unlimited editors, unlimited locales, unlimited records, visual editor, publishing workflows, version history, localization, CDN, image processing, AI credits. No add-ons.
Directus shines when:
A headless CMS built for content teams, not just data engineers.