The web needs JavaScript
doesn't.

Nectar compiles to WebAssembly. One language, one binary, zero dependencies. Your entire app — logic, state, rendering — runs in WASM. JavaScript is reduced to a 3 KB syscall layer.

Nectar Demo (10K products) → Svelte 5 Comparison

Note: The Svelte demo may time out on first load with 10K products. Try refreshing if it appears blank.

0
JS Dependencies
~3KB
Runtime (gzip)
2248+
Compiler Tests
0
Virtual DOM
O(1)
Signal Updates

Write less. Ship faster.

React + JavaScript387 KB
// package.json: 47 dependencies // node_modules: 1,247 packages import React, { useState } from 'react'; import ReactDOM from 'react-dom'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>{count}</p> <button onClick={() => setCount(c => c + 1)}> + </button> </div> ); }
Nectar~3 KB
// No package.json. No node_modules. // One file. Compiles to WASM. component Counter() { let mut count: i32 = 0; fn increment(&mut self) { self.count = self.count + 1; } render { <div> <p>{format("{}", self.count)}</p> <button on:click={self.increment}>"+"</button> </div> } }

Built different.

Single Binary Compiler

One Rust binary handles everything: compile, format, lint, test, dev server, LSP, package management, SSR. No toolchain to configure.

Fine-Grained Signals

O(1) updates per binding. No virtual DOM, no diffing, no reconciliation. When a signal changes, only the exact DOM node updates.

🔒

Compile-Time Safety

Rust-inspired borrow checker, type system, and exhaustive pattern matching. Catch bugs before they ship — not in production.

📦

Zero Dependencies

No npm, no node_modules, no webpack, no bundler. Your app compiles to a .wasm binary and a 3 KB runtime. That's it.

🌐

Built-In Keywords

component, store, router, page, form, auth, payment, upload, db, cache, agent — common web patterns are language primitives, not libraries.

🚀

SSR + Edge Deploy

The same WASM binary runs on the server via wasmtime. Built-in SSR, hydration, and deployment to 29 Cloud Run regions.

How Nectar works

Your .nectar source compiles to WebAssembly. The browser loads the .wasm and a 3 KB syscall layer. Everything else is WASM.

Source.nectar
CompilerRust
Output.wasm
RuntimeBrowser
JavaScript Runtime3 KB (DOM syscalls only)
Virtual DOMNone — command buffer
State ManagementWASM signals — O(1)
Borrow CheckerCompile-time safety
node_modulesZero. Deleted.
GC PausesNone — linear memory
XSS AttacksImpossible — no eval
AuthHttpOnly cookies by default

See it running.

10,000 products. Canvas rendering engine. Reactive signals. All running in WebAssembly. Side-by-side with Svelte 5.

Nectar Demo → Svelte 5 Comparison