Skip to content
HN On Hacker News ↗

Nectar — The Web Without JavaScript

▲ 29 points • 18 comments • by blakeburnette • 4mo ago • HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully AI-generated

99 %

AI likelihood · overall

AI
0% human-written 100% AI-generated
SEGMENTS · HUMAN 0 of 2
SEGMENTS · AI 2 of 2
WORD COUNT 408
PEAK AI % 99% · §1
Analyzed
Jul 12
backend: pangram/v3.3
Segments scanned
2 windows
avg 204 words each
Distribution
0 / 100%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 408 words · 2 segments analyzed

Human AI-generated
§1 AI · 99%

Nectar

The web needs JavaScriptdoesn'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 10 KB syscall layer. Note: The Svelte demo may time out on first load with 10K products. Try refreshing if it appears blank.

0JS Dependencies ~10KBRuntime (gzip) 2586Compiler Tests 0Virtual DOM O(1)Signal Updates

Write less. Ship faster. // 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> ); } // 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.

§2 AI · 99%

📦 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 10 KB syscall layer. Everything else is WASM. Source.nectar →CompilerRust →Output.wasm →RuntimeBrowser JavaScript Runtime10 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.

Building something with Nectar? Kicking the tires, want early access, or just have thoughts? Drop your email and I'll reach out. It's one person building this, so it comes straight to me.