Error tracking, intelligent logging, and Just Enough APM™ in one tool.
Our founders Ben and Josh built Honeybadger to fix their own production headaches. Fourteen years later, they’re still shipping code and working directly with customers.
We don't stuff our products with irrelevant features or chase VC growth targets with aggressive sales tactics.
We build products for devs who build and support great web apps in production – just like us.
Git worktrees are handy for parallel work, but each fresh Mix project checkout means recompiling everything from scratch. Ryan Zidago shows how to cut setup time by 83% by cloning the deps and _build caches from an existing checkout and making builds relocatable.
German Velasco shares his diverge-then-converge pattern: spawn a few subagents that attack the same problem from different angles, then synthesize the best parts. He applies it to code review, bug fixing, and design.
A dead dependency blocking an upgrade is a familiar headache. Mike Zornek walks through removing Timex from a project using a shim: a small module covering just the functions actually used, verified by comparison tests.
The book I'm working on with Alex Koutmos. Control LEDs, displays, and sensors. Build a production LiveView-powered kiosk. Beta version with 38% discount.
A GenServer handles one message at a time, so when handling gets slow, you get latency spikes that look inexplicable. Kiunye Araya explains how these bottlenecks happen in production and how to profile them with :observer and :recon.
Extract 10 bytes from a 10MB binary, and the 10MB may never leave memory. This is not a bug, it's an optimization. But sometimes you don't want that. Ntwali Heritier dives into why the BEAM works that way and how to diagnose with :recon if you want a copy instead of a reference.
If you've used Stripe's API, you know how nice their prefixed IDs (cus_ for customer) are. Adam Kirk talks about how Jump uses that pattern in Elixir and Ecto, including scanning every LiveView and API param for IDs to automatically catch IDOR vulnerabilities.
We are looking for a Senior Backend Developer with deep expertise in Elixir and the BEAM VM to help us push the boundaries of what real-time messaging can look like at scale. You will own the architecture, performance and reliability of the services that power every conversation on the platform, from Phoenix Channels at the edge to the data layer that keeps everything consistent.