// the find
seed-rs/seed
A Rust framework for creating web apps
Seed is a Rust/WebAssembly frontend framework modeled on Elm's architecture — unidirectional data flow, pure update functions, a macro-based virtual DOM. It's for Rust developers who want to write the entire stack in one language and are willing to accept an immature ecosystem to get it.
The Elm architecture is a genuinely good fit for Rust's ownership model — messages are plain enums, update is a pure function, and the compiler catches most state management bugs before they ship. The macro-based templating (`div!`, `button!`) stays in Rust proper, so you get real compiler errors, refactoring tools, and rustfmt without a separate JSX transform or IDE plugin. The example directory is unusually thorough: canvas, GraphQL, drag-and-drop, service workers, e2e encryption — most frameworks ship 'hello world' and call it a day. WASM binary sizes are competitive with mature alternatives because there's no JS runtime overhead.
It's abandoned — the README says so directly, and the last meaningful activity was years before the January 2025 push date. Leptos and Dioxus have overtaken it with active maintainers, SSR support, and growing ecosystems; starting a new project on Seed today means inheriting technical debt with no one to fix it. No server-side rendering (#232 is still open) makes it a non-starter for anything that needs SEO or fast first paint. The official documentation site (seed-rs.org) has been taken over by a third party, so new users are immediately hitting broken links before they write a single line of code. The component library situation is genuinely bad — you will write your own date picker, your own modal, your own everything.