A compiled, reactive web language targeting WebAssembly Garbage Collection (Wasm-GC) with zero Virtual DOM, sub-millisecond mounting, and micro-footprint binaries. - bshea-1/volt

2 points•bshea1•7 days ago•3 comments•

3 comments

OhMeadhbh7 days ago
Wasn't 'v' (vlang.io) once called 'volt'? Did they change their name because of a name conflict with another project?
ModernMech7 days ago
No you’re thinking of an app made with it https://volt-app.com/
bshea17 days ago
Hey HN, I built Volt https://github.com/bshea-1/volt because web developers have long faced an annoying compromise: JavaScript frameworks bring heavy bundle sizes, Virtual DOM diffing overhead, and hydration delays, while traditional WebAssembly approaches require bundling entire memory allocators or runtimes into the binary, producing 50 KB to multi-megabyte footprints for simple components. Volt eliminates this tradeoff by compiling declarative components written in an expression-oriented syntax directly into standard WebAssembly Garbage Collection (Wasm-GC) bytecode, letting the host browser manage memory with zero bundled runtime allocator.

Under the hood, the compiler analyzes signal dependencies ahead of time and translates state updates into bitmask dispatch tables rather than relying on runtime tree diffing. Every signal maps to a native Wasm-GC struct field, and state mutations evaluate dirty bitmasks to trigger surgical, direct host DOM updates via function reference tables. Because there is no Virtual DOM or bundled framework core, standard interactive components compile down to roughly 1.1 KB uncompressed, the entire loader is under 1.5 KB, and streaming bytecode mounts in under 1.5 milliseconds.

The compiler is written in Rust, emits companion TypeScript declaration files for typed JavaScript interop via extern blocks, and is licensed under MIT. You can test an interactive 3D force-directed graph demo compiled with Volt live in your browser at https://voltdemo.vercel.app/. I would love your thoughts on the AOT bitmask reactivity model and where you would like to see the language specification go next.

Read the full thread on Hacker News →

Related stories