Velvet Land

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

render

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
identity

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
safety

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.