Topcoat, a modular full-stack framework for Rust built by the Tokio team, has moved out of private development with a public GitHub repository, a v0.9 release, and a series of blog posts outlining its direction. The project is positioned as a batteries-included web framework that stays entirely server-rendered, with reactivity added through cross-compiled Rust expressions rather than WebAssembly.
Topcoat introduces several ideas, including a view! macro for mixing HTML with Rust control flow, module-based routing inferred from the project's file tree, an asset pipeline with content-hashed URLs, and a Tailwind integration that works without Node.js. It also announces tighter integration with the Toasty async ORM, which handles migrations and database access in the same Rust workspace.
One of the headline design choices in Topcoat is the $(...) expression. These are ordinary type-checked Rust fragments that Topcoat evaluates on the server for the initial render and also translates to JavaScript, so they re-run instantly in the browser without a WASM bundle or separate client build step.
When an update does need the server, developers can mark a component as a #[shard]. Topcoat re-renders the shard on the server whenever one of its $(...) arguments changes, then swaps the new HTML into the page, giving a similar feel to reactive updates without shipping a client-side router. This positions Topcoat closer to HTMX, Datastar and Phoenix LiveView than to React or SolidJS.
Topcoat also ships Topcoat UI, a component library inspired by shadcn/ui. Components are vendored into the project via the topcoat ui CLI command, so teams can edit their design and functionality rather than wrap a fixed package. The approach has drawn attention on Hacker News, with one commenter excited by the concept:
Oh man I'd love a nice full stack framework in Rust! Django, Laravel, and Rails are very neat. I used to be a micro framework kind of guy, but having everything integrated is more and more appealing over the last few years.
This would take a long time to get feature complete with the core of those big full stack frameworks, but I'm rooting for it! Getting to use the Rust type system with a full stack web framework sounds incredible.
On the same thread, Hobofan worried the project "will possibly gain outsized adoption in the community based on name recognition rather than merit", whilst frio argued the Rust ecosystem still lacks a true Django equivalent with admin, auth and migrations baked in.
Speaking at ScyllaDB's P99 2026 conference, Tokio creator Carl Lerche admitted Topcoat is not aimed at Figma-scale applications, but rather the "run-of-the-mill, browser-based, database-driven applications" that make up most of the web.
Within the Rust ecosystem, Topcoat sits alongside Leptos and Dioxus, both of which compile Rust to WebAssembly and therefore carry an upfront WASM bundle. It overlaps more directly with Loco.rs and Cot, which chase Django-style productivity with ORMs and admin panels, though neither yet matches Topcoat's cross-compiled reactivity model.
Given the rapid 0.x cadence, there is no long-term stability guarantee. The team has committed to release notes for every version and migration guidance where needed, with the roadmap tracking authentication, background jobs, static export and tighter Toasty integration as near-term work on GitHub issue 104. New projects can follow the Getting started guide or the manual setup instructions. Topcoat is published on crates.io under an MIT licence.
Topcoat is an open-source, modular full-stack web framework for Rust, developed and maintained by the Tokio project, the collective behind Rust's most popular asynchronous runtime. It aims to bring Rails or Django-style productivity to Rust developers through server-rendering, declarative reactivity and vendored components, so teams already invested in Rust for infrastructure or performance-critical work can build web applications without adopting a separate language or stack.