QuickBEAM is a JavaScript runtime embedded inside the Erlang/OTP VM.
If you’re building a full-stack app, JavaScript tends to leak in anyway — frontend, SSR, or third-party code.
QuickBEAM runs that JavaScript inside OTP supervision trees.
Each runtime is a process with a `Beam` global that can:
- call Elixir code
- send/receive messages
- spawn and monitor processes
- inspect runtime/system state
It also provides browser-style APIs backed by OTP/native primitives (fetch, WebSocket, Worker, BroadcastChannel, localStorage, native DOM, etc.).
This makes it usable for:
- SSR
- sandboxed user code
- per-connection state
- backend JS with direct OTP interop
Notable bits:
- JS runtimes are supervised and restartable
- sandboxing with memory/reduction limits and API control
- native DOM that Erlang can read directly (no string rendering step)
- no JSON boundary between JS and Erlang
- built-in TypeScript, npm support, and native addons
QuickBEAM is part of Elixir Volt — a full-stack frontend toolchain built on Erlang/OTP with no Node.js.
Still early, feedback welcome.