I'm working on an tool to generate a browser UI from a Rust type that lets you read/write that type on a live microcontroller (via serial). I have a proof of concept working, but I'm not sure how to "package" it so it's easily usable by other Rust devs. A crate for the embedded device side is straightforward, but I'm not sure about how to make it easy to generate and serve the frontend HTML + WASM (which will depend on a user-defined type). Ideas I can think of: - do it manually: have devs just "fork" the frontend crate, add their embedded crate as a dependency to reference their type, and then just "cargo run" to spin up the UI. - cargo feature/examples magic: add the frontend crate as a dependency of the embedded crate, using features or the "examples" mechanism to define a webserver binary (and not blow up their actual embedded code with tons of big dependencies) - ???