This MyTechDailyNews Software review asks what a year of production use actually reveals about a stack. The example is SeggWat, an in-app feedback tool for SaaS products, and the earlier April note argued that Rust was the right foundation for a production micro SaaS. Here the focus is the bill that came due: the application itself remains calm while release automation gets expensive.
The dashboard is a Dioxus 0.7 Fullstack application placed inside a Cargo workspace. The workspace has a backend crate, an auth crate, and about ten UI crates covering insights, feedback, ideas, boards, widgets, and settings. Twelve crates depend on Dioxus, and the data layer sits on PostgreSQL. The infra.page product uses the same stack, so the pattern is not limited to one UI surface.
Fullstack here means one Rust codebase doing three jobs: server rendering, server functions acting as backend, and client compilation to WebAssembly. That sentence sounds compact until a build log explains the cost.
The interesting pressure is on compile and test time. The dashboard compiles twice: once for the server target and once for wasm32. A dozen Dioxus crates plus a macro-heavy UI create a workload that is manageable on a local machine and expensive in CI.
| Reported work | Environment | Observed cost | Operational note |
|---|---|---|---|
| WASM dashboard build | 6 cores | about 22 minutes | One leaf crate for the browser target. |
| Release image | GitHub-hosted 2-core runner | about 90 minutes | That is also 90 billed minutes per push if the workflow triggers there. |
| Release image | self-hosted runner | around 40 | The biggest measured improvement in the account. |
| Workspace Clippy | 7 GB hosted runner | exit code 143 with no diagnostics | Fixed later with a 10 GB swapfile and CARGO_BUILD_JOBS=1. |
The release path is often described as 90 minutes on a hosted runner, and that number is the baseline being argued against.
Each mitigation helped, but none changed the underlying math: two compile targets, a large dependency graph, and many macros still mean a lot of compiling.
The business logic is All Rust in the sense that product rules, server functions, and data transformations live in the same language. The edges are not pure. The insights page uses Chart.js because a production-trustworthy Rust charting library was not found. Chart.js is loaded from a CDN and wrapped in about 340 lines of JavaScript, and Dioxus calls through dioxus-use-js. The UI also uses Tailwind, so the pipeline installs Bun and runs Tailwind CLI before Rust compilation begins.
That trade-off is reasonable. The warning is simple: choosing Dioxus to escape JavaScript may still require JS glue, plus a JavaScript toolchain in CI.
The better decision question is not What helps me ship fastest? It is What helps me keep shipping without hating my life? For the backend, Rust remains the easy answer. For the frontend, the answer depends on product type.
If the product is truly app-like, with heavy client state, offline support, or a real mobile target, Dioxus is still attractive. Most current work, however, is dashboard work: forms, tables, a few charts, and some toggles. For that, the release process pays a 22-minute WASM tax to deliver interactivity that is barely used.
The next experiment is Topcoat, a new Fullstack framework from the tokio-rs org announced in July. It makes the opposite bet: everything renders on the server, components are async functions that can query the database directly, and interactivity uses $(...) expressions in type-checked Rust. The same expressions are evaluated for the first render and translated to JavaScript for instant browser behavior. There is no WASM bundle and no second compile target.
Yes. The account says Rust is still the backend answer, and it is not close.
The dashboard compiles twice, and the browser target needs wasm32 output. A dozen Dioxus crates plus macros make the WASM layer take about 22 minutes on 6 cores.
The release image took about 90 minutes on GitHub-hosted 2-core infrastructure and around 40 on a self-hosted runner, turning 90 billed minutes into a scheduling problem.
Topcoat avoids the 22-minute WASM second target, but it is early-stage, from tokio-rs, and announced in July.
Topcoat is still a bet, not a result: the README calls it early-stage and experimental, breaking changes are expected, and no build has been measured. The follow-up will compare the current around 40 self-hosted build with any Topcoat build time; if 40 minutes drops to 10 minutes, that is news. If it does not, that is also news.