Live by default
Every page arrives fully rendered from the server. Where you need state, you write plain JavaScript in a <script> next to your markup and PulsePoint wires it up — the counter on the right is exactly that, running on this page right now.
const [demo, setDemo] = pp.state(0);
Pages are Rust functions returning typed HTML. No hydration waterfall, no client bundle to wait for.
PulsePoint mounts reactivity right in your markup — plain JavaScript beside the elements it drives.
The same design tokens as shadcn/ui. Swap a palette in globals.css and every component follows.
Components live in your src/components as readable Rust — typed props, Tailwind classes, no black box.
60 components across 6 categories, each with a live demo page that doubles as its test bench.