Build a full-stack web app with server-rendered pages and a database.
Add instant client-side reactivity to a page without a JavaScript build step.
Let the app's URL routes be inferred automatically from the project's file structure.
Copy in editable Tailwind-based UI components to style an app.
| tokio-rs/topcoat | b-nnett/goose | dtolnay/async-trait | |
|---|---|---|---|
| Stars | 2,202 | 2,176 | 2,157 |
| Language | Rust | Rust | Rust |
| Last pushed | — | — | 2026-03-24 |
| Maintenance | — | — | Maintained |
| Setup difficulty | easy | hard | easy |
| Complexity | 3/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Early-stage and experimental, so breaking changes should be expected.
Topcoat is a full-stack web framework for the Rust programming language, built to make building complete web apps simpler and faster by bundling many pieces together instead of requiring a developer to assemble them separately. It is still early-stage and experimental, so it may change in breaking ways before it stabilizes. All pages are rendered on the server, which means components can talk to a database directly without needing a separate API layer. Even so, parts of a page can still react instantly in the browser: certain expressions are written as normal Rust code that runs on the server for the first page load, but Topcoat also converts them into JavaScript so they keep working live in the browser without a page reload, and without needing a WebAssembly bundle or any separate build step. When something does need fresh data from the server, like search results as a user types, a component can be marked so that Topcoat automatically reruns it on the server and updates just that part of the page. Pages are written using a template style that closely mirrors real HTML but allows ordinary Rust control flow like loops and conditionals inside it, and a formatting command can automatically clean up these templates across a whole project. Topcoat can also automatically build the site's URL structure directly from how project files are organized into folders, without extra configuration. It includes a set of editable interface components based on Tailwind CSS, styled similarly to the popular shadcn/ui library, which are copied directly into a project so developers can freely change their design. It also includes a bundler that finds referenced files like images in the compiled program, copies them into an assets folder, and serves them efficiently with caching, plus built-in support for web fonts, icons, and Tailwind CSS integration. The project provides a command line tool for creating new projects, running a development server, and formatting code, along with linked documentation covering routing, templates, request handling, and memoization. It is released under the MIT license.
An experimental full-stack Rust web framework with server-rendered pages, instant client reactivity without a build step, and file-based routing.
Mainly Rust. The stack also includes Rust, Tailwind CSS, Cargo.
MIT license: use it, modify it, and share it freely, including commercially.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.