Visual rule workspace. Drag-and-drop flow editor, decision table editor, template instantiation, execution trace, and testing. All API requests are proxied through Vite to ordo-platform.
How Ordo is built
Studio is the visual workspace, Platform is the control plane, ordo-server is the execution engine. The three tiers sync rules over NATS JetStream; PostgreSQL persists all control-plane state.
System layer overview
Actual deployment topology from compose.yml
Component breakdown
The control plane. Manages organizations, projects, members, RBAC, templates, Fact Catalog, contracts, release requests, and the server registry. Subscribes to NATS to track server heartbeats in real time.
Background async worker. Handles release execution tasks, rule sync scheduling, and notification dispatch. Shares the database with the main process but runs independently.
The rule execution engine. Supports HTTP / gRPC / WASM / CLI. JIT compilation via Cranelift: 50–80 ns latency; interpreter: 1.63 µs; 54k QPS single-thread HTTP. Auto-registers with Platform on startup and sends continuous heartbeats over NATS.
Control-plane message bus. Carries server registration (ordo.rules.*), heartbeats, and rule sync events. Both Platform and ordo-server subscribe, enabling decoupled node discovery and rule push.
The sole persistent store for the control plane (ordo_platform database). Stores organizations, projects, roles, Facts, contracts, release requests, approvals, server metadata, and rule snapshots.
Request execution path
The full request chain from Studio through Platform to ordo-server
Release & approval path
Publishing is not a single button — it is a governed workflow
Own your decision logic.
Stop scattering business rules across codebases and spreadsheets. Ordo gives your team one place to author, test, and govern them. Open source on GitHub.