Amazon Web Services principal engineer Carl Lerche demonstrated Topcoat, a Rust framework for building web applications using server-side rendering, at ScyllaDB's P99 virtual conference last week. The framework compiles Rust code into JavaScript and runs most of its logic on the server, unlike most present-day JavaScript frameworks.
Lerche, best known for creating Tokio, the most popular asynchronous Rust runtime in its ecosystem, demonstrated Topcoat, a framework for running web applications written in Rust. He suggested coders may want to consider Rust for web development given its runtime performance and safety guarantees. He told the virtual audience that three years ago, if he had said Rust could be the best language for building web apps, they probably would have called him crazy.
Unlike existing Rust web frameworks such as Leptos and Dioxus, which compile into WebAssembly, Topcoat targets JavaScript, which Lerche said remains the best way to interact with the browser's Document Object Model. Topcoat eschews the current definition of reactive programming, in which program logic is sent to the browser when a session begins; instead, most of the logic runs on the server. When a user interacts with a component, the server returns and refreshes that component's HTML snippet. Lerche acknowledged that this might sound like a return to full-page refreshes, but said server-side rendering can achieve almost everything developers think of as reactive.
Toasty, Lerche's earlier Rust-based asynchronous database ORM, provides a way for components on the server to speak directly to the database, without having to serialize data for the client and deserialize it. Data loading does not block page rendering; the server can send a page with placeholders into which data will stream, and the head of the HTML template is sent immediately so the browser can begin preloading assets.
Frontend developer Ken Kohlman, in a summary video on his Code to the Moon YouTube channel, praised Topcoat's simplicity, saying it is something that has been sorely missing in the space and that someone who does not really know Rust could get off the ground quickly. Lerche said Topcoat is not for complex applications on the scale of Figma, and Kohlman agreed that it is best suited for smaller web projects, noting that it uses only a subset of Rust syntax. Kohlman added that there is value in having the full Rust syntax at one's disposal.
Lerche said Topcoat tweaks ideas from server-side rendering tools such as HTMX, Datastar and Phoenix LiveView to fit the Rust ecosystem.
Analysis
Why This Matters
- Offers a new path for Rust developers to build web applications more simply, without the complexity of WebAssembly or reactive frameworks
- Could attract developers dissatisfied with React and similar client-heavy frameworks by combining Rust's performance with server-side rendering
- The integration with Toasty streamlines database access, potentially making Rust a more practical choice for line-of-business web apps
Background
Rust has historically been used for systems programming, not web development. Existing web frameworks like Leptos and Dioxus compile Rust into WebAssembly, which runs in the browser but can have slow initial load times. Server-side rendering, where pages are generated on the server, is an older model that has regained popularity with tools such as HTMX and Phoenix LiveView. Topcoat adapts this model to Rust, compiling to JavaScript for DOM interaction.
Key Perspectives
Carl Lerche (AWS principal engineer and Topcoat creator): argues that Rust can be the best language for building web apps, and that server-side rendering can achieve almost everything reactive frameworks offer. He presents Topcoat as an evolution of the server-side rendering idea, tailored for Rust.
Ken Kohlman (frontend developer): praises Topcoat's simplicity and accessibility for newcomers to Rust, but agrees it is best for smaller projects due to its use of a Rust subset.
What to Watch
- Whether Topcoat gains adoption among Rust developers and web teams, especially those seeking alternatives to WebAssembly
- How its performance and developer experience compare with existing server-side rendering frameworks like HTMX and Phoenix LiveView
- Whether Lerche expands Topcoat to support a fuller Rust syntax or integrates it more deeply with AWS services
Checked
12 claims in this story checked against 1 source: 11 supported.
Show each claim
- SupportedTopcoat enables Rust to render server-side web apps.www.theregister.com - Articles: “Topcoat enables Rust to render server-side web apps.”
- SupportedAWS principal engineer Carl Lerche demonstrated Topcoat at ScyllaDB’s 2026 P99 virtual conference last week.www.theregister.com - Articles: “suggested Carl Lerche, an Amazon Web Services principal engineer, speaking at ScyllaDB’s 2026 P99 virtual conference last week. Lerche was there to demonstrate his latest project, Topcoat”
- SupportedTopcoat compiles Rust code into JavaScript.www.theregister.com - Articles: “Topcoat compiles your Rust code into more web-friendly JavaScript.”
- SupportedTopcoat targets database-driven web applications.www.theregister.com - Articles: “it can easily be used for the run-of-the-mill, browser-based, database-driven applications”
- SupportedTopcoat runs most of its logic on the server, unlike most present-day JavaScript frameworks.www.theregister.com - Articles: “Unlike most present-day JavaScript frameworks, Topcoat eschews the current definition of being reactive, where the program logic is dumped onto the browser when the session begins. Instead, most of the logic executes on the server”
- SupportedLerche suggested coders consider Rust for web development because of its runtime performance and safety guarantees.www.theregister.com - Articles: “coders may want to consider the programming language, given its runtime performance and safety guarantees, suggested Carl Lerche”
- Partly supportedLerche is the best-known creator of Tokio, the most popular asynchronous Rust runtime in its ecosystem.www.theregister.com - Articles: “Lerche is perhaps best known for creating Tokio, which is the most popular asynchronous Rust runtime in that ecosystem.”
- SupportedLerche told the virtual audience that three years earlier, people probably would have called him crazy for saying Rust could be the best language for building web apps.www.theregister.com - Articles: ““Three years ago, had [I] gone out and said that Rust could be the best language for building web apps, you probably would have called me crazy,” he told the virtual audience.”
- SupportedLeptos and Dioxus compile Rust into WebAssembly, while Topcoat targets JavaScript.www.theregister.com - Articles: “Both Leptos and Dioxus compile Rust into WebAssembly, which most browsers run. ... Topcoat compiles your Rust code into more web-friendly JavaScript.”
- SupportedWhen a user interacts with a component, the server returns and refreshes that component’s HTML snippet.www.theregister.com - Articles: “When a user smashes a button on a web page, the whole page isn’t refreshed. Just the HTML snippet for that component is returned and refreshed by the server.”
- SupportedToasty provides a way for server-side components to speak directly to the database.www.theregister.com - Articles: “it provides a way for the component, which is already on the server, to speak directly to the database, thanks to an earlier project from Lerche called Toasty”
- SupportedKohlman praised Topcoat’s simplicity and said someone who does not really know Rust could get started quickly with it.www.theregister.com - Articles: ““The simplicity is incredible, and it is something that we have been sorely missing in this space. I feel like someone who doesn't really know Rust could get off the ground pretty quickly with this thing,” Kohlman said.”