Keep JavaScript. Move only the expensive part.
We build Rust-powered tools that fit into existing JavaScript applications. Keep the familiar APIs and application architecture; move a focused workload to the runtime that suits it.
The name comes from “voyage to island”: JavaScript stays the application surface, while a bounded capability travels to Rust/WASM in the browser or native Rust in Node.js.
Documentation · Getting started · 中文指南 · Examples & experiments
Vooya connects Rust Components and Stores to
web applications. Write ordinary .rs files and import them through a framework
adapter. Vooya handles compilation, WASM loading, typed bindings, props and
events, state subscriptions, lifecycle, and cleanup.
Rust is the implemented language provider. Vue and React are supported; Solid and Svelte are experimental. Vite is the primary bundler path, with experimental Rspack and Webpack integrations in the opt-in alpha. Dashed providers in the diagram show planned extensions, not shipped language support.
Start with the beta quickstart; the 0.2 alpha is an explicit opt-in. The optional alpha preset prepares native Rust build tools. Browsers run the generated JS and WASM. See project status and the compatibility matrix for current support and prerequisites.
| Project | What it does |
|---|---|
| Vooya | Rust/WASM Components and Stores for existing web applications |
| Vooya FS | Native Rust batch filesystem operations behind a Node-style API; the continuation of Rush-FS |
| Vooya Lab | Runnable browser experiments and integration evidence |
Choose the boundary first, then measure the workload. Moving code to Rust or WASM does not automatically make it faster.
Bring a real use case, report a bug, or help with a focused improvement. Read Contributing, browse good first issues, or start a discussion.