BEAM There, Done That with Bart Blast : Hologram - running Elixir in the browser: how it actually works and when to use it

Sharing a recent BEAM There, Done That episode with Bart Blast, creator of Hologram. Worth a read for anyone who’s thought seriously about the server-vs-client state question in Elixir apps.
What Hologram actually is: A full-stack framework that compiles Elixir to JavaScript and rebuilds the Erlang runtime in the browser - including a real pattern matching engine, boxed types for type consistency, and OTP guarantees. It pulls the expanded AST from compiled BEAM files, lowers it to an IR, and encodes it to a JS runtime. Not a transpiler anymore - a full compiler with a JS runtime.
Two key design concepts:
Actions (client-side, synchronous, touch local state, re-render)
Commands (server-side, asynchronous, can fail, reach database/sessions/auth)
The front end / back end separation is still there. It’s just one language crossing it.
When Live View still wins (Bart says this himself):
Logic you need to keep private (anti-cheat, proprietary ranking, pricing) - Hologram code runs in the browser so it’s visible
Data-heavy apps where the working set lives on the server anyway
Teams that need a more mature framework today
When to try Hologram:
Rich interactive UIs where round-trip latency is the actual problem
You want pure Elixir end to end with no JS context-switching
The local-first sync layer (Hologram’s next major feature) is designed to close the data-heavy apps gap. Mobile and desktop are the longer term roadmap.
Hologram.page has live demos including a physics simulation and SVG drawing. The Discord is the most active community channel currently.

4 Likes