GitHub Star 1.5k
Hologram's simplicity and composability felt like a breath of fresh air, and I got all of that without leaving Elixir.
Dillon O'Connor, founder of Combat Log. The answers below are Dillon's, as written.

01. What does it do, and who uses it?

Combat Log takes the busywork out of leading a software team, so everyone can get back to building. It pulls activity from GitHub, Jira, Linear, Trello, and Fizzy into one record, then flags goal-related tasks that look done for you to approve, keeping progress current without anyone filing an update. Every Monday, an org brief lands on your Home dashboard. Prep for 1:1, release notes, and incident evidence are a click away. It's for any team lead who needs to report up without making it up.

02. Why did you pick Hologram? Did you consider anything else?

I started with the natural choice, Phoenix LiveView, which I love for its design around the actor pattern and message passing. It always felt ergonomic and made interactivity a breeze. JS commands were a big sell too. Coming from backend development, I have always been very creative in finding novel ways to avoid JavaScript.

I found Hologram on Reddit in its early days. The hook, more than any demo, was clicking around the Hologram website itself. Moving between pages and interacting with elements felt instant, and I NEEDED that snappiness for Combat Log's real-time updates, toolbars, and client-side state tracking. Beyond speed, Hologram's simplicity and composability felt like a breath of fresh air, and I got all of that without leaving Elixir. So, I migrated page by page, and now the landing pages and everything past sign-in run on Hologram.

03. Which parts of Hologram does it rely on most, and for what?

The entire frontend is driven by Hologram, with Realtime as the centerpiece. It drives the live activity feed, AI reports that stream in as they generate, and goal updates that appear without polling. Commands handle every server change, from onboarding to connecting GitHub and Linear. Delayed actions show progress while a team's GitHub history imports.

The Home dashboard with the weekly org summary, what's moving this week and a review waiting on you The Logs timeline of GitHub and Linear activity, with one log's details open on the side

04. What was hard, or almost made you stop?

Being early on a young framework meant some growing pains, and most of them have already been smoothed out. Compiles used to be slow from a cold start and before every test run, but I got help and patches on the Elixir Forum within days. JS interop started out unofficial, and now it's a supported feature. Minor-version upgrades occasionally touched internals I'd leaned on, which is fair game for a framework moving this fast. Honestly, watching Hologram improve release after release has been part of the fun.

05. What do you wish Hologram had?

A way for pages to read their layout's context. A page sits above its layout in the tree, so it can't see the context its own layout provides. My workaround is that almost every Combat Log page is a few lines that render one top-level component, and the real page lives inside it. It works fine, but direct access would cut out that extra layer.

Also, first-class flash messages.

06. Anything else you'd like people to know?

Huge thanks to Bart and everyone who's helped on the Elixir Forum. Being early on Hologram has been a lot of fun, and it's been great watching it grow. Combat Log is in beta, and I'd love any feedback from the community ❤️

Follow Combat Log on X: @combatlogai

Your project could be next

Built an app with Hologram or a library for it? Submit it to the Showcase.

Submit Your Project
Sponsored by
Curiosum
Main sponsor
Erlang Ecosystem Foundation
Milestone sponsor
Evo Store
Performance sponsor
Sruplex
Innovation partner
Previous
← Community