I am building an open source desktop app in Tauri [1]. One of the issues I encountered was having to duplicate and sync types between the TypeScript frontend and Rust. On the other hand, Rust proved to be a great language with a sizeable ecosystem for building application backends.
fwiw, I think the most comprehensive cross-typing work done here has been specta:
https://github.com/specta-rs/tauri-specta