For developers

Sentry for UX friction

Behavioral instrumentation that catches rage clicks, dead clicks, form friction, and post-deploy regressions, turns them into ranked issues, and verifies your fixes. TypeScript-first, framework wrappers, MCP built in.

html
<script
  src="https://flusterduck.com/d.js"
  data-key="fd_pub_YOUR_KEY"
  data-dnt="false"
  async
></script>

data-dnt="false" matters: we capture no PII, no form values, and no text content, so DNT filtering only costs you visibility.

What we capture

  • Clicks, taps, and the element selectors they land on
  • Scroll depth, hesitation, and timing patterns
  • Navigation paths and back-and-forth loops
  • Viewport size and browser class
  • Deploy markers, so regressions get blamed correctly

What we never touch

  • Form values, passwords, or raw keystrokes
  • Page text content of any kind
  • Session replay or DOM recording
  • Raw IP addresses (hashed at the edge)
  • Third-party ad or cross-site cookies

100 detectors run in the browser. These are the ones you'll meet first, each one a named, typed signal, not a blob of events.

rage_click

Same element hammered in rapid succession. Pure frustration.

dead_click

A click on something that looks interactive and does nothing.

form_friction

Refills, corrections, and stalls inside a form field.

navigation_loop

Users bouncing between the same pages, hunting for something.

misclick

Taps that land just off-target, usually a tap-target problem.

deploy_regression

Confusion that climbed right after a deploy. We name the deploy.

@flusterduck/mcp-server exposes your friction data to Claude Desktop, Claude Code, or any MCP client. Ask "what's the worst issue on checkout this week?" and get the real answer. Bring your own Claude.

json
{
  "mcpServers": {
    "flusterduck": {
      "command": "npx",
      "args": ["-y", "@flusterduck/mcp-server"],
      "env": {
        "FLUSTERDUCK_MCP_KEY": "fd_mcp_...",
        "FLUSTERDUCK_SITE_ID": "your-site-id"
      }
    }
  }
}
Flusterduck for developers - Sentry for UX friction