Ship web apps in Rust. Zero JavaScript.
Velvet renders server-side in 0.14 ms. Every page works without JS. Identity comes from design.toml. State is isolated per-app.
- KiB JS required
- 0
- ms median SSR
- 0.14
- typed builders
- 155
- page shells
- 62
Server-rendered from the first byte
Pages are pure Rust functions. No hydration, no virtual DOM, no bundle to download. The server streams HTML directly from memory buffers.
cargo build --target wasm32-unknown-unknown
Design identity as data
One file, design.toml, holds your app's style family, font pair, and motion profile. WCAG AA is gated at build time. Change identity without touching CSS.
vf new myapp --identity editorial
Zero JS by default
Forms POST natively. Acts are closed enums. Sessions are HMAC-signed cookies. Layout is CSS Grid. Everything works before JavaScript loads.
cargo test && bash scripts/e2e.sh
Start building.
One command creates a working app with identity, isolation, and typed acts. Your first page shows the design system.