There are a few basic use cases I envision being the most common:
- When you have a portion of your Node app you really want to optimize (Rust's baseline computational performance is generally much faster than Node's and is easier to optimize predictably).
- When you have a part of your algorithm that you want to parallelize.
- When you want access to native libraries and need some glue code to expose it to JS.
One important caveat: there's a significant cost to calling back and forth between Node and Rust (I hope I can improve the cost over time but it'll never be free), so the use cases that fit the best will be ones where you're doing a lot of work in Rust so the amortized cost of crossing that boundary is small compared to the savings you get from Rust.