finds.dev← search

// the find

rari-build/rari

★ 1,142 · Rust · MIT · updated Jun 2026

rari: High-performance React Server Components framework powered by a Rust runtime, delivering 18.1x faster response times (0.12ms vs 2.17ms) and 67.4x higher throughput (97,826 vs 1,452 req/sec) than Next.js with zero-config setup.

Rari is a React Server Components framework that swaps Node.js for a Rust runtime with embedded V8, similar in spirit to what Deno does but wired specifically for RSC. It implements the HTTP server, RSC renderer, and router in Rust, then executes your React components in V8 from there. Aimed at developers who want Next.js-style app router conventions with substantially lower baseline latency.

- The performance architecture is sound, not just marketing: bypassing Node's event loop overhead with a Rust HTTP server and running V8 directly gets you genuine latency wins on the request path. The 97k req/sec vs 1.4k is on a toy benchmark, but the gap is real even if real apps narrow it considerably.

- Rolldown-powered builds and tsgo type checking mean the entire toolchain is fast, not just the runtime. 1.75s builds vs 4.42s is the kind of thing that compounds across a workday.

- Ships pre-built binaries, so users don't need a Rust toolchain to adopt it. That's the right call for a framework targeting JS developers.

- The RSC flight protocol serializer and streaming renderer are implemented from scratch in Rust rather than shelling out to Node — that's the hard part done properly, not as a thin wrapper.

- 1142 stars and 29 forks at v0.13 means almost nobody is running this in production. The ecosystem is empty: no adapter for Vercel/Cloudflare/AWS, no third-party plugin authors, no Stack Overflow answers when something breaks.

- The RSC protocol itself is still evolving at React's end. Building a from-scratch Rust implementation of the flight wire format means you're chasing a moving target that Meta controls and documents poorly.

- The codebase embeds dozens of small JS snippets as Rust source files (component_render.js, promise_resolution.js, streaming_init.js, etc.) — this pattern fragments logic that should be cohesive and will become a maintenance burden as React internals shift.

- Benchmark methodology is suspect: comparing a minimal rari hello-world to a full Next.js install under 50 concurrent connections tells you about startup overhead, not rendering performance under realistic app complexity. The improvement will shrink dramatically once you add database queries, auth middleware, and real component trees.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →