Rust platform
Why Rust for Kaporeal
The reasoning behind building the TMS in Rust: safety, performance, one language from server to edge.
Educational / conceptual specification · Not a released implementation contract

A deliberate language decision
In ProgressKordspace is moving its open-source projects toward Rust, and Kaporeal is planned as a Rust codebase rather than a TypeScript application. Transportation software holds long-lived operational records, integrates with many partners and increasingly touches physical devices. A language with strong compile-time guarantees, predictable performance and no garbage-collection pauses fits those demands.
Rust's ownership model removes whole classes of memory and concurrency defects. For a system that ingests partner messages, telematics pings and document uploads, fewer runtime surprises translate directly into fewer reconciliation incidents. The type system also makes domain states explicit: a Load that has not been tendered can be a different type from one that has.
One language from server to device
The same crates that model a Stop or a ShipmentEvent can compile for a cloud service, a desktop dispatch client, a WebAssembly browser bundle or an ARM gateway mounted in a dock or truck cab. That uniformity is the main differentiator: validation rules and event schemas are shared instead of re-implemented per platform.
This is a stated direction. No crates are published, and the trade-offs, such as longer compile times and a smaller hiring pool, are acknowledged in the open.
- Memory safety without a garbage collector
- Shared domain crates across service, UI and edge
- Compile-time modeling of lifecycle states
- Native, WebAssembly and embedded targets