Claude Code Site Analytics: Give Your Coding Agent Real Eyes On Production

Eduard CristeaFounder, Eyepup6 min read

Claude Code is exceptionally good at reading and writing code. It is blind to your live site. Every conversation about "is the change I just shipped helping?" requires a human to open the dashboard, screenshot a chart, paste it into the chat, and hope Claude reads it correctly. Install the Eyepup CLI once and that whole loop disappears: Claude calls eyepup patterns, gets structured per-visitor dossiers back, and reasons about real production behavior the same way it reasons about real production code.

Key takeaways

  • Out of the box, Claude Code has no visibility into web analytics — it reads code, runs shell commands, edits files. That's it.
  • The Eyepup CLI fills the gap. Because Claude Code can already run shell commands, no plugin or protocol install is needed — Claude calls eyepup … like it calls git or npm.
  • The killer workflow: Claude proposes a UI change, ships it, then queries the next 10 visitors' dossiers to verify the fix landed — without you in the middle.
  • Setup is one shell command (eyepup login) and you're done. Two minutes.

What Claude Code can do without analytics

Quite a lot, actually:

  • Read your codebase
  • Run tests
  • Run shell commands
  • Edit files
  • Search the codebase with Grep / Find
  • Use git, npm, the Vercel CLI, the Supabase CLI, and dozens of other tools

What it can't do without help:

  • See real visitor behavior on your live site
  • Tell you whether a fix you just shipped actually fixed the user-facing problem
  • Answer "why did this customer get stuck"
  • Surface friction patterns it didn't already know about

That last bullet is the one that matters most. Claude Code can be confidently wrong about the impact of a change because it's reasoning from the code in front of it, not from how real visitors are reacting.

What Claude Code can do with the Eyepup CLI

After install (two minutes — instructions below), Claude can run:

eyepup visitors           – list visitors with filters
eyepup dossier <id>       – pull one visitor's AI verdict + evidence
eyepup patterns           – aggregated friction across all visitors
eyepup evidence <sid>     – the URL of the actual MP4 the AI watched
eyepup funnels <name>     – funnel-level metrics
eyepup paths              – most-traveled friction paths
eyepup live               – stream new visitors as they arrive

Same data as the Eyepup dashboard. Different surface. The agent can call these directly without a screenshot, without a copy-paste, without you in the loop.

The killer workflow

Before CLI install:

You:      "Pricing bounce went up. Can you look?"
Claude:   "I can read the pricing page code, but I can't see the
           analytics. Can you screenshot the dashboard?"
You:      [opens Eyepup dashboard, screenshots, pastes]
Claude:   [interprets screenshot, sometimes wrong about numbers]
Claude:   "Looks like 47 visitors blocked by price uncertainty."
Claude:   [proposes fix]
You:      "Ship it."
[deploy happens]
You:      [next day, opens Eyepup dashboard again, screenshots, pastes]
Claude:   "Looks like the pattern is down to 6 visitors. Working."

That's three context-switching screenshots. Two unnecessary ones.

After CLI install:

You:      "Pricing bounce went up. Can you look?"
Claude:   $ eyepup patterns --since 7d
          → 47 visitors blocked by price uncertainty (+12 w/w),
            top pattern: hover annual toggle 3×, never click.
Claude:   [reads pricing page code]
Claude:   "I'll default to annual price visible. Here's the diff."
You:      "Ship it."
[deploy]
Claude:   [next morning, on its own]
          $ eyepup patterns --since 24h
          → Pattern down to 6. Bounce normalized.
          "Confirmed working. Closing this."

You went from three screenshots and two days of context-switching to zero screenshots and one approval. The agent is closing its own loops.

Setup (two minutes)

1. Create an Eyepup account

Sign up at eyepup.com/signup, drop the snippet on your site, and let it record for an hour or two so there's data to query.

2. Install the CLI

npm install -g eyepup

(Single Node.js package, Node 18+. Brew tap and curl installer are coming.)

3. Log in

$ eyepup login
✓ Open https://eyepup.com/cli-auth?code=ABCD-EFGH in your browser
✓ Logged in as you@yourdomain.com (team: Acme)

The CLI uses device-flow auth — no manual API key juggling. Tokens live in ~/.config/eyepup/credentials.json, mode 0600, and rotate automatically.

4. That's it

Open Claude Code in your project. Try:

You: List the top friction patterns from the last 7 days.

Claude will run eyepup patterns --since 7d (or use --json if it wants structured output) and surface the answer with no further prompting.

Sample sessions

Below are real prompts and the kind of responses Claude produces with Eyepup wired in. Tone and exact wording vary; the structural moves are reproducible.

Prompt: "Why is signup conversion down?"

Claude's flow:

  1. Runs eyepup funnels signup to confirm the drop and identify the step.
  2. Runs eyepup patterns --since 7d to find the dominant friction.
  3. Reads the relevant signup-page code.
  4. Names the cause + suggests a fix + drafts the diff.

Prompt: "Diagnose customer sarah@acme.com's signup issue"

Claude's flow:

  1. Runs eyepup visitors --filter email:sarah@acme.com --json.
  2. Picks the most recent session, runs eyepup dossier <id>.
  3. If the dossier's confidence is low, runs eyepup evidence <session-id> and watches/summarizes.
  4. Reports the cause + offers code fix.

Prompt: "What's the highest-impact thing I should ship this week?"

Claude's flow:

  1. Runs eyepup patterns --since 30d for breadth.
  2. Runs eyepup paths --since 30d for path-level friction.
  3. Cross-references against your codebase complexity (uses git log, file sizes).
  4. Ranks 3 candidates by ICE score, recommends one.

What this doesn't do

A few honest limits:

  • Read-only. The CLI is currently read-only. Claude can read patterns, dossiers, and evidence — it can't push changes back into the analytics state.
  • Only as good as the dossiers. If your site has 5 visitors total, the verdicts have low statistical weight. Hundreds of sessions per week is the floor for reliable patterns.
  • Doesn't replace shipping. Claude can read, reason, and propose. You (or your CI) still have to deploy.
  • English only at present. The dossier prose is generated in English. Multilingual is on the roadmap.

Compatibility with other AI assistants

The Eyepup CLI isn't Claude Code-specific. The same install works wherever an AI assistant has shell access:

  • Cursor — Composer can run shell commands; works the same way.
  • Zed — same.
  • Aider — runs shell tools natively.
  • Continue — has shell tool support.
  • Plain ChatGPT desktop with terminal access — works.
  • CI / GitHub Actions — works headless via a long-lived API token.

If your AI assistant can spawn a subprocess, it can use the Eyepup CLI.

Frequently asked questions

Does Claude Code work with Eyepup out of the box?

Yes — once you've installed the CLI and logged in. The first time you ask Claude an analytics question, it runs eyepup … like it would run any other CLI tool. No plugin or config file needed.

Will Claude know when to call the Eyepup CLI?

It depends on how you ask. If you ask "is the pricing fix working?", Claude infers it should query analytics. If you ask "fix the pricing bug," it'll often go straight to the code. You can prompt-tune your CLAUDE.md to encourage Claude to query Eyepup first when conversion or bug context is missing.

Does this leak customer data to Anthropic?

No more than any other Claude Code workflow. The CLI runs locally, Claude Code reads the output, the dossier data is sent to Claude as part of the conversation context — same path as any other shell tool's output. If your data is sensitive, treat it the same way you'd treat code review by Claude.

What's the rate limit?

Reasonable limits per token; not a bottleneck for normal interactive use. Bumped further for production workloads.

Does it cost extra to use the CLI?

The CLI is free. Underlying per-session AI dossier generation is metered on your Eyepup plan.

What if my project doesn't use Claude Code?

The CLI works in every AI assistant with shell access — Cursor, Zed, Aider, Continue, plain ChatGPT-with-shell-access, or just a human in a terminal. See Query your visitors from the CLI for the full command reference.

Related reads