Requirements
The core requirement was a workflow engine that could expose BPMN execution clearly enough for backend and platform engineers to deploy, start, inspect, and operate processes. The console needed to make persistence, task actions, process starts, health checks, metrics, authentication modes, tenant isolation, and event integrations visible without forcing users into raw API calls for every step.
Stack choices
Rust and Axum were chosen for a small, predictable HTTP runtime around BPMN parsing and execution. PostgreSQL handled durable definitions, instances, tasks, timers, and history, while Prometheus and OpenTelemetry made the operational surface first-class. The embedded HTML console kept the operator UI close to the service and simple to ship.
Design system
The console design system uses a dense dark operations palette, compact cards, status badges, route lists, and graph surfaces. That fit the product better than a marketing-style interface because the main user jobs are scanning runtime health, reviewing process state, and acting on workflow tasks.
MVP definition
The MVP was the full operator loop: check server health, deploy or run BPMN, start an instance, inspect graph and history, act on user tasks, review metrics, and understand available API endpoints. Advanced auth, tenant isolation, Kafka, NATS, and connector details could layer in after that loop was coherent.
Progression
The project progressed from the engine and persistence layer into an embedded console that made the runtime inspectable. Dashboard and observability views came first for confidence, then BPMN deployment, process graph rendering, task operations, message correlation, and a lightweight modeler rounded out the operator workflow.