UserProof

Find out why users leave your site, from inside Claude Code

UserProof is a Claude Code plugin and a small JavaScript snippet. It finds where visitors get stuck, shows the sessions that prove it, and names the file and line to fix.

  • Set up in about 4 minutes, from the terminal
  • Free for 3 analyses a month
  • Typed text is never recorded
Run in Claude Code
/plugin marketplace add rdoyle99/userproof
/plugin install userproof@userproof
/userproof:setup

Then answer one question: your email.

Install from a terminal instead
claude plugin marketplace add rdoyle99/userproof && claude plugin install userproof@userproof

Then run /userproof:setup inside Claude Code.

Works with any site you can add a script tag to: Next.js, Vite and React, Astro, SvelteKit, Nuxt, static HTML, Rails. Requires Claude Code.

Real finding on pie-chart-generator.com, one of our own sites. Output trimmed.

Three steps, all in your terminal

  1. Install and set up

    /userproof:setup creates your account (it asks only for an email), adds the snippet to your site's layout, and confirms the first recorded event in about a minute. A local dev server is enough.

  2. See the proof

    Setup ends with a free, read-only scan of your live site for dead buttons, broken links, slow responses and load errors. Once real visitors arrive, it finds where they get stuck, with the sessions that show it.

  3. Verify your fix

    You get one top fix with the evidence. After you ship it, UserProof re-scans the live site, then checks visitor data, and tells you whether it worked.

In our own test on 3 of our sites, agent-driven setup took a median of 4.2 minutes. Time from signup to first recorded event: 0.6 to 1.3 minutes.

What it finds

Four kinds of stuck, each tied to recorded sessions and, when it can, to a line in your repo.

Dead clicksButtons and elements that look clickable and do nothing.
Rage clicksVisitors hammering the same spot.
Errors on clickA click that throws in the browser.
Slow responsesClicks and loads that make people wait.

Counts come from recorded events. Your coding agent writes the explanation and the fix; it never produces the numbers.

What gets recorded, and what does not

What visitors type into a field is never recorded. We keep the field name and whether it had a value. Page addresses are stored without the query string or hash. Add data-exclude to any element to mask its text and drop events inside it.

The snippet sets no cookies and does no cross-site tracking. Raw events are kept for 30 days. Bots and browser automation are dropped when events arrive. Read the privacy policy.

Pricing

An analysis is one top-fix run. Recording, scans of your site, setup and fix checks never count against your cap.

Free

$0

3 analyses a month

  • Full recording and site scans
  • Setup and fix checks included

Pro

$29 / month

30 analyses a month

  • Everything in Free
  • When you hit the cap, your agent shows an upgrade link

Questions

Does it need Claude Code?

Yes. The plugin runs inside Claude Code, and so does everything it tells you.

Can I just ask Claude to read my code for bugs?

Yes, and it will catch what the code shows. It cannot see what visitors did. UserProof adds recorded clicks and sessions, so each fix comes with evidence and a way to check it afterward.

What if my site has no traffic yet?

You still get the free scan of your live site on day one. Findings from visitor behavior start once real visitors arrive.

Does the recording capture what people type?

No. Field values are never recorded. Text you select or copy on the page is recorded up to 200 characters, and data-exclude keeps any area out.

How long is data kept?

30 days for raw events.

Are the numbers generated by an LLM?

No. They are counted from recorded events.

What counts toward the monthly cap?

One analysis, meaning one top-fix run. Setup, recording, site scans and fix checks do not count.

Run it on your site today

Paste the three lines into Claude Code. The first scan is free.

Copy the install commands