Prototype a fast server-rendered web app without depending on Node.js or npm.
Write both server and client-side interactive code in a single language, Zig.
Compare Zig-compiled WebAssembly performance against a Next.js baseline.
Build typed API routes where input validation happens automatically at parse time.
| justrach/merjs | torvalds/hunspellcolorize | fractalfir/crustc | |
|---|---|---|---|
| Stars | 346 | 344 | 331 |
| Language | C | C | C |
| Setup difficulty | moderate | easy | hard |
| Complexity | 4/5 | 1/5 | 5/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires the Zig toolchain and is marked as an early experimental status, not production ready.
Merjs is an experimental web framework written in the Zig programming language that aims to deliver a modern development experience, file-based routing, server-side rendering, type-safe APIs, without depending on Node.js or npm at all. The central idea is that Zig can compile to WebAssembly, so both the server code and any client-side interactive logic can be written in the same language, with the server producing a tiny native binary and the client receiving a .wasm file directly. The framework borrows the developer workflow popularized by Next.js: you create files in an app folder and each file automatically becomes a URL route. Zig code in those files generates HTML on the server, with a comptime HTML builder (meaning errors are caught at compile time, before the program runs). API routes accept typed input models where constraints like minimum string length or valid number ranges are enforced automatically at parse time. For client interactivity, you write Zig code that compiles to WebAssembly and loads directly in the browser with no bundler involved. The readme shows local benchmarks claiming over 100,000 requests per second with sub-millisecond latency and a cold start under 5 milliseconds, compared to roughly 2,000 requests per second and 1-3 second cold starts for Next.js, though it notes this is an early experiment, not a production-ready system. It installs via a one-line curl command and is marked as experimental status.
An experimental web framework written in Zig that offers Next.js-style file routing and server rendering while compiling everything down to WebAssembly, without Node.js.
Mainly C. The stack also includes Zig, WebAssembly, C.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.