Bart Blast

@bartblast.com

Building Hologram, a full-stack Elixir web framework https://hologram.page

Recently, I got attendee feedback for my ElixirConf EU talk about Hologram, the full-stack web framework I'm building that runs your Elixir code in the browser. One of the comments: "Bart Blast seems like a man on a mission, and we are along for the ride." You bet I am! Glad to have you along :)

Most frontend code isn't UI. It's data plumbing - caching, syncing, loading states, and more. Hologram's new Local-First data layer takes it over: declare what the data should be, it syncs itself in the browser, offline included. Pure Elixir. Teaching it hands-on at ElixirConf US, Sept.

Building Local-First Apps in Pure Elixir with Hologram

Soon I start building the most ambitious thing I've attempted with Hologram (my full-stack Elixir framework): the Local-First data layer. Your app keeps its data locally, syncs in the background, and keeps working offline - all of it written in Elixir.

17 lines of Elixir - all the realtime code you write for a chat room in Hologram v0.9. I'd love to take credit :) but it's an iceberg situation: clustering, cross-node routing, supervision ship with the BEAM. I just built the declarative layer on top. What did the BEAM save you from building?

Elixir code of a Hologram chat room page - init subscribes to the room channel, a command broadcasts new messages, an action handler updates state.

If you write Elixir, you know the moment the fun stops: the frontend. I've lost afternoons to bugs that were just an object mutating somewhere it shouldn't - can't happen in Elixir. But mostly I just want to write Elixir all day. So I'm building Hologram to do exactly that. I regret nothing :)

The Swedish coast, end of September. A seaside theatre full of Elixir people :) I'm speaking at Goatmire about Hologram - building local-first apps in pure Elixir. Offline-capable, auto-syncing, client and server in one language. No JS framework in sight.

Hologram: Building Local-First Apps in Pure Elixir

Hologram v0.9 landed on Thursday and the response has blown me away. The feedback loop I love: a user hit a compile-time slowdown with deeply nested templates, reported it, and v0.9.1 is already out with the fix. On v0.9? Grab v0.9.1 to keep compiles fast :)

Quick question for the Elixir crowd: when you build realtime, what are your use cases? Chat, presence, dashboards, cursors? I've spent the last couple of weeks on Hologram realtime - last feature tests wrapping up, docs next. Curious how realtime is actually used in practice as I write the docs.

Hey Elixir friends, funny how getting a feature down to a simple one-line call takes two weeks of design work. Sharing what that looked like for Hologram realtime.

Initial page mount + SSE attach

"Just generate it with an LLM." Common reply when I mention I'm building Hologram UI - the component library for my Elixir-in-the-browser framework. But components need more than markup: a11y, responsiveness, edge cases LLMs miss. Waiting list: hologram.page/ui #ElixirLang

I'm designing Local-First features for Hologram (instant UI, optimistic updates, offline resilience) and I'd love to hear your ideas. What's your dream DX? Don't think about what's possible - think about what you'd want if there were no constraints. Full discussion: elixirforum.com/t/designing-...

Designing Local-First features for Hologram - what's your dream DX?

Hi everyone! I’m working on designing Local-First features for Hologram and I’d love to hear your thoughts before I dive into implementation. What do we mean by “Local-First”? The term gets used in ...

elixirforum.com