Pre-Release · March 2026

ALBDO is a Rust-native DOM render compiler and HTTP runtime for JSX / TSX apps. It statically analyses every component and ships exactly the right amount of JavaScript — including none at all.

By Bishal Sen & Pinaki Singha

RustZero-JS by defaultAxum 0.8TokioSWC ASTEffect LatticeTier A · 0 KB JSSelective HydrationDashMap lock-freeWebTransport11 MB idle RAM0.07 msSingle binary deploy< 30 MB DockerNo Node.js in hot pathRustZero-JS by defaultAxum 0.8TokioSWC ASTEffect LatticeTier A · 0 KB JSSelective HydrationDashMap lock-freeWebTransport11 MB idle RAM0.07 msSingle binary deploy< 30 MB DockerNo Node.js in hot path
0 msCached response
0 MBIdle server memory
0 KBTier A JS payload
0 sCold build time

Effect Lattice

Automatic tiering at compile time

ALBDO builds an EffectProfile for every component — hooks, async operations, I/O, side effects — and assigns a deterministic rendering tier. No annotations required.

Tier AStatic / Pure
0 KB JS

No hooks, no async, no side effects. Ships zero JavaScript to the client.

Tier BReactive Islands
Minimal JS

Selective hydration for reactive regions only. The rest of the page stays static.

Tier CFull Reactive
Full hydration

Complex client state. Full hydration where the component truly demands it.

Architecture

Every layer built with intent

Effect Lattice

At compile time, ALBDO builds an EffectProfile for every component — analysing hooks, async, I/O, and side effects to determine exactly what JavaScript to ship.

Rust-Native Core

SWC-powered AST analysis, lock-free parallel component traversal via DashMap, and a zero-JavaScript hot path served by axum + Tokio.

Zero-Cost Static Pages

Tier A components produce zero bytes of client JavaScript. No hydration, no bundle, no runtime tax — pure HTML from the server.

Selective Hydration

Tier B components hydrate only the reactive islands that need it. The rest of the page remains inert, cutting transfer and parse time.

No Rewrites Needed

ALBDO accepts the JSX and TSX files your team already writes. No new primitives, no framework migration — just point and compile.

Single Binary Deploy

Ship a self-contained Rust binary. Docker images under 30 MB. Compare that to the 300–800 MB of a typical Node.js container.

Benchmarks

A different execution model

Measured on a working pre-release build. Not projections.

ALBDONode.js / Next.js
JavaScript in hot pathNoneAlways
Idle memory (single service)11 MB260 MB+
Tier A page JS payload0 KB50–400 KB
Docker image size< 30 MB300–800 MB
Cached response time0.07 ms5–40 ms
50-service baseline RAM< 600 MB~13 GB

Ready to see it in action?

Explore the pre-release source, star the repo, or open an issue.

View on GitHub →