Red Badger launches CRUX - Headless app development in Rust
Announcing Red Badger’s experimental open-source framework for writing native User Interface (UI) applications for Mobile, Web, and Desktop.
Two companies. Millions of users. One architectural pattern built on Rust and Crux - and what it means for engineering at scale.
Proton builds privacy-first, end-to-end encrypted productivity tools: Mail, Calendar, Drive, VPN, PaaS, and Lumo, their AI assistant. Their products run on iOS, Android, web, desktop, macOS, Windows, Linux, and TV. Every one of them is built on a single non-negotiable constraint: end-to-end encryption, consistently enforced, everywhere.
At Proton’s scale - 600 employees, teams structured around individual products, offices across Europe - that constraint creates an organisational challenge as much as a technical one. Conway’s Law is doing what it always does: autonomous, fast-moving product teams make good decisions for their own products, but when the same business logic is implemented independently on each platform, you get inconsistency, multiplied bugs, and integrations that are harder than they need to be.
Proton’s solution is a modular Crux architecture. Crux - first introduced at Rust Nation in 2023 - lets teams write shared business logic once and compile it to any platform. Each team owns its own Crux “core”, which can then be shared across many platform shells. At Rust Nation 2026, Proton’s Ludovico Rossi presented alongside Red Badger’s Chief Scientist Stuart Harris - one of Crux’s creators - to show this in action. The demo used two standalone apps, Ask Lumo and Proton News, to illustrate how one team’s Crux app can be embedded inside another team’s product, reusing both the behaviour and the UI. No duplication. No renegotiation between teams.
The result preserves team autonomy while eliminating the cost of divergence. Cross-product integration - the security and data layer that has to work the same in every Proton app - is owned in one place, and composed wherever it’s needed.
Cross-platform duplication is an enemy of integration. A modular Crux architecture empowers autonomous teams to share business logic without fighting their own structure.
Photoroom is an AI-powered image editing application used by millions of people across iOS, Android, and the web. In 2023, they set themselves an ambitious goal: real-time, Google Docs-style collaboration across all three platforms simultaneously. The approach they chose was a shared Rust core, using Crux, with platform-native UIs on top.
Their engineering team has documented the journey in a detailed, candid five-part series on their blog. The Rust core handles all editing logic, conflict resolution, and the undo stack. Because all edits are expressed as diffs, the undo stack works correctly across platforms without per-platform implementation. Thousands of automated tests run in seconds on the Rust side, providing a level of confidence that would be practically impossible to maintain across three separate native codebases.
The Photoroom team are candid about the challenges: the learning curve, the unfamiliar async model, the work required to bridge native UI frameworks. None of it is framed as easy. What it is framed as is worth it. Live collaboration shipped to 100% of users, across every platform they support.
“A bug in the engine affects all platforms simultaneously - which raises the quality bar implicitly and makes comprehensive testing non-negotiable.” - Photoroom Engineering
These are different companies, different products, and different scales of problem. What they share is an architectural conviction: the most reliable path to cross-platform software, where correctness and consistency are non-negotiable, is a shared core in a language that enforces those properties at compile time.
Rust’s type system and ownership model aren’t incidental to this. They are the point. Code written once in Rust is not just shared - it is verifiably the same on every platform, before it ships. For Proton, that means security guarantees enforced in one place. For Photoroom, it means editing correctness that cannot diverge between iOS and Android.
Crux provides the structure that makes this practical at enterprise scale: a clean boundary between shared logic and platform-specific UI, a testable effects system that keeps the core independently verifiable, and a growing ecosystem of open-source capabilities. It is the layer that turns a Rust shared core from an interesting idea into a production architecture.
The patterns Proton and Photoroom have established are not exotic. They apply to any organisation building multi-platform software where consistency and correctness matter: financial services, healthcare, productivity tools, enterprise SaaS.
The path requires real investment. Teams need to build or seek out Rust capability. The boundary between shared core and platform-specific code needs to be drawn deliberately. Getting the architecture right early - before the codebase grows around the wrong decisions - is where the most important choices get made.
Red Badger built Crux and maintains it as a permissively licensed open-source project. We work with engineering teams who want to adopt this approach: thinking through architecture, building internal Rust capability, and making sure teams can own and extend what they build. If you’re building multi-platform software and starting to feel the costs of that complexity, let’s talk!
Announcing Red Badger’s experimental open-source framework for writing native User Interface (UI) applications for Mobile, Web, and Desktop.
Red Badger delivered a keynote speech at Rust Nation 2023, one of the most significant conferences for Rust programmers. The talk covered the...
What Rust Nation reminded me about enterprise software - and why the AI conversation was the one I didn’t expect.
Add a Comment: