·

Why We Built RF Tools in Rust

Performance, safety, and a path to WebAssembly — here's why Rust is the right choice for RF engineering tools.

RF engineering tools have a reputation for being either expensive, clunky, or both. We wanted something different — fast, reliable, and built on a modern stack. Rust checked every box.

Performance Without Compromise

Cascade analysis and S-parameter math involve a lot of floating-point computation. Rust gives us C-level performance without the footguns. No garbage collector pauses, no runtime overhead. Just fast math.

Safety by Default

RF calculations are only useful if they're correct. Rust's type system and ownership model catch entire categories of bugs at compile time — off-by-one errors, null references, data races. When your link budget says you have 3 dB of margin, you want to trust that number.

The WebAssembly Path

Rust compiles to WebAssembly. That means the same crate that runs on our server can run in your browser. We're not there yet for everything, but the path is clear and we're walking it.

Published Crates

We don't keep the core math locked up. These crates are on crates.io, MIT-licensed:

  • rfconversions — Unit conversions for RF (dB, dBm, watts, linear)
  • touchstone — Parse and work with Touchstone (.s2p/.s1p) files
  • gainlineup — Cascade analysis for RF signal chains
  • linkbudget — Link budget calculations

If you're building RF tools in Rust, use them. File issues. Send PRs. That's the point.

The Stack

The web app itself runs on Axum (Rust's async web framework) with a Hotwire-inspired architecture — think Ruby on Rails' Turbo, but in Rust. Server-rendered HTML with HTML-over-the-wire partial updates. No heavy JavaScript framework on the app side — just fast, simple hypermedia that works.


We're engineers building tools for engineers. Rust lets us do that without apologizing for the tech stack.