What we build with it

Rust is our choice for the parts of a system where being wrong is expensive and being slow is unacceptable. Document and graphics processing, parsers, CLI tools, and services whose latency budget is measured in milliseconds rather than hundreds of them.

What we get from it is predictability. No garbage collector means no pause we cannot explain; the ownership model means a class of concurrency bug never reaches review; and a Rust binary can be dropped onto a server or into a container with no runtime to install alongside it.

Where we have shipped it

dxpdf is our largest Rust project and it is open source: a standalone DOCX-to-PDF converter built on Skia that needs neither Microsoft Office nor a cloud API. It converts a three-page document with tables and images in roughly 113ms using 19 MB of peak memory — fast enough to run inline in a web request handler.

We wrote up how the rendering pipeline works in rendering PDFs with Skia and Rust.

When we recommend it

Rust earns its keep on hot paths, on long-running services where memory behaviour matters, and on tools you ship as a binary to other people.

It does not earn its keep on ordinary CRUD. Development is slower, the hiring pool is smaller, and a typical API endpoint spends its time waiting on a database rather than on the CPU — Go or Python will get there sooner and cost less to maintain. We use Rust where the profile says to, not by default.