Hologram: The Journey to Local-First Elixir in the Browser
summary
Hologram compiles pure Elixir to run in the browser, demonstrated by a Space Invaders game and a 60fps SVG animation after a 50x rendering speedup from a rewritten bitstring runtime. Releases add full form sync, action scheduling, HTTP-based updates (no websockets), and JS interop where promises become tasks and web components work natively; community effort ported 150 functions across 19 modules. The client runtime is ~100KB compressed, the compiler does compile-time call graph tracing to ship per-page code and enable a server‑authoritative local‑first data layer.
AI-written summary · about
chapters (17)
- 0:00Hologram introduction
- 1:07Pure Elixir demos
- 2:11Milestones and performance
- 3:15Community contributions
- 4:01JavaScript interop
- 5:04Compiler optimizations
- 5:49Local-first definition
- 7:34Why broadcasting isn't enough for sync
- 8:40Local-first design
- 10:51CRDTs and limits
- 12:37Industry challenges
- 14:27Schema evolution
- 15:52Hologram structure
- 17:40OTP and meta-programming
- 18:44Compile-time sync toolkit
- 20:13Hologram philosophy
- 20:56Acknowledgments








