March 29, 2026
When runtimes collide
Show HN: QuickBEAM – run JavaScript as supervised Erlang/OTP processes
JavaScript crashes on Erlang’s couch—genius or cursed
TLDR: QuickBEAM lets JavaScript run inside Erlang’s reliability bubble, restarting on crashes and calling Elixir code. The community is split between excitement over reusing Node packages and caution about sandboxing and security, sparking a lively debate on whether this mashup is brilliant or cursed.
QuickBEAM just flung open the door and let JavaScript move into Erlang’s famously crash-proof world, and the crowd is split between “this is genius” and “did we summon a demon?” Think of it like running JS inside a safety-net: if it falls, Erlang’s supervision restarts it. Commenters are buzzing that JS can call Elixir functions, send messages, and even get auto-restarted when it crashes—like a babysitter for your scripts.
The loudest reactions? One camp is hyped: reuse existing Node packages in Elixir, finally! Another camp is clutching pearls over security—untrusted code, sandboxing, and whether deeper protections like Linux’s seccomp might arrive. One commenter flat-out called it “cursed or brilliant,” which instantly became the meme of the thread. Others asked brass‑tacks questions: do these JS runtimes have their own inbox? Can the scheduler interrupt them? How does garbage collection work, and are values immutable? Meanwhile, a dev who tried a similar idea dropped a nostalgic yavascript link and cheered the fuller implementation. The vibe: Elixir folks are excited, security folks are alert, and everyone’s ready to play. If you’ve ever wanted JS’s convenience with Erlang’s grown‑up supervision, this is the mashup—and the comments are the party.
Key Points
- •QuickBEAM runs JavaScript entirely on the BEAM, treating JS runtimes as GenServers in OTP supervision trees.
- •Developers install QuickBEAM as an Elixir dependency and require Zig 0.15+, managed automatically by Zigler or system Zig.
- •JS code can call Elixir handlers and access OTP libraries, send/receive BEAM messages, and monitor/link processes.
- •The Beam API provides process control, distribution (nodes, rpc), utilities (sleep, hash, UUIDv7, timers), semver checks, password hashing, and introspection.
- •Runtimes and context pools are OTP children with crash recovery; supervisors restart runtimes and reload scripts on crash.