Blog

Writing

Ideas, tutorials, and updates from our team.

  • Session replay

    Three quarters of our SDK was code almost nobody ran

    A third-party widget that ships 450 KB to every visitor has to justify it. Ours couldn't. Here's the measurement, the fix, and the thing about defer that turned out to be wrong.

  • MCP

    What we learned building an MCP server for a developer tool

    MCP turns your product into something an AI agent can read. That part is easy. The hard part is designing tools an agent uses correctly on the first try — which turns out to be a different discipline from designing a REST API.

  • Session replay

    Works on my machine: a field guide to unreproducible bugs

    "Cannot reproduce" is not a property of the bug. It is a statement about the difference between two machines. There are only about eight such differences, and each one leaves a distinct fingerprint.

  • JavaScript SDK

    How to capture console logs and network requests from a user's browser

    DevTools is open on the wrong machine. Here's how to instrument console, errors, fetch, and XHR so a user's browser can tell you what actually happened — and the traps that make naive implementations break the page they're monitoring.

  • QA

    From 40 reports to 6 bugs: how triage should work

    Separating reports from tasks is the small structural decision that keeps a bug inbox from becoming a graveyard — and turns duplicate reports into your best debugging asset.

  • Session replay

    Session replay without the surveillance

    Session replay has a reputation problem, most of it earned. Here's how we use it — scoped to a report, redactable by the user, and off with one line.

  • MCP

    Your AI agent should read your bug reports

    We shipped an MCP server so Claude Code can pull bug reports, console logs, and network traces on its own. The result is a debugging loop where you never open the dashboard.