Configuration Over Code: A Platform Philosophy
Software has a gravity problem. Every feature, once implemented as code, tends to attract more code. Dependencies accumulate. Customizations require understanding layers of abstraction. What started as a clean system gradually becomes something that only experts can change without breaking.
The antidote to this gravity is configuration.
What "Configuration Over Code" Really Means
This isn't about avoiding code entirely — the platform itself runs on code, and that code must be excellent. The principle applies to the layer where business logic lives: the rules, the structures, the workflows, the interfaces that define how a specific business uses the platform.
That layer should be configuration, not code. It should be readable by non-engineers, changeable without deployment, and auditable as a history of how the business evolved.
Why It Matters
When business logic lives in code, changing it has a fixed minimum cost: a developer's time, plus a deployment cycle. For small changes — add a required field, adjust a workflow transition, rename a status — that cost is disproportionate to the change.
When business logic lives in configuration, the cost of change scales with the complexity of the change. A small change costs almost nothing. A significant change requires proportionately more effort. That's the right relationship.
The Trust Problem
Configuration is also more trustworthy than code for business users. A business analyst can read a workflow definition and confirm it matches how the process is supposed to work. They can't read a codebase and confirm the same thing.
When the people who understand the business can directly inspect and modify the system that runs it, you get faster feedback cycles and fewer disconnects between what the business needs and what the software does.
Limits and Escape Hatches
Configuration has limits. There are genuinely custom behaviors that no configuration system will ever express cleanly. We don't pretend otherwise.
For those cases, extension points allow code to hook into the platform's lifecycle in defined, structured ways. The escape hatch exists — but it's an escape hatch, not the primary path.
The Bet
The bet we're making is that the vast majority of business customization can and should be expressed as configuration. That this is achievable without sacrificing expressiveness. And that businesses who can configure their own platform, without depending on developers, will move faster and build better systems than those who can't.
We're building to prove that bet right.