It watches everything you ship,
then tells you what to improve
Start with one script tag: Betterloop sees rage clicks, dead buttons, JS errors and slow pages. Then connect the rest of your stack - your repo, your error tracker, your Stripe account - and it recommends across security, performance, pricing, code health, SEO and accessibility too. One ranked list. Not charts.
The demo is a working dashboard on our public demo project - nothing to install, no signup. How it works
<!-- that's the whole install -->
<script async src="https://betterloopai.com/sdk.js" data-key="bl_live_x1"></script>What lands in your feed
examplesWritten out by hand to show the shape of an insight - these six are not live data.
Users rage-click "Save changes" on /settings
14 sessions hammered the same button 47 times this week. It has no loading state - users think it is broken.
JS error hitting 9 sessions: Cannot read properties of undefined
Fires on /checkout when the cart is empty. 31 occurrences in 7 days - top of stack points to cart.total.
/pricing is slow: LCP p75 is 4,800ms
Google rates this "poor". The hero image is 2.1MB and render-blocking. Compress it and preload.
82% of visitors leave /docs without going anywhere
The next step is not obvious. Add a quickstart CTA above the fold - your busiest entry page is a dead end.
No Content-Security-Policy on your site
Any successful script injection runs with full access to your users' sessions. A CSP turns that from account takeover into a blocked request.
9.4% of subscriptions cancelled in the last 30 days
At that rate you replace your customer base every 11 months. Cancellation timing says which fix applies: onboarding, or value.
Real insights the engine generated for our public demo project, with the errors and pages they came from.
Then plug in everything else
A browser snippet cannot know that the dependency behind your checkout has a published CVE, that a third of your CI runs fail, or that nobody has ever bought your middle tier. The tools you already run know all of it. Betterloop reads them and folds the findings into the same ranked list.
Site audit
zero setupNo setup: fetches your public page and reads the headers, HTML and markup a browser or crawler actually receives.
security · seo · a11y · performance · ui · reliability
PageSpeed Insights
Google's own Lighthouse scores plus the real-Chrome Core Web Vitals its ranking signal reads, on mobile and desktop.
performance · seo · a11y · code
GitHub
Engineering health from the repo itself: security alerts, CI failure rate, review latency and release cadence.
code · security · reliability · product · bug
Sentry
Production crashes with real reach - which errors fire, how many users each one hits, and whether your newest release made it worse.
bug · reliability
Stripe
What customers actually pay: MRR, which plans sell, trials, churn and failed payments.
pricing · growth · product
Plausible Analytics
Visitor, referrer, channel and goal numbers from Plausible - a second independent count to check our own SDK against.
growth · product · seo
The interesting part is what only shows up when two sources are read together. Server-side analytics counts visitors your in-browser SDK never sees, and the gap between them is your ad-block rate - a number neither tool can report on its own. What each one reads
Drop in the snippet
2.5KB, dependency-free, respects Do Not Track. Collects clicks, rage clicks, dead clicks, errors, web vitals, and navigation paths. No cookies, no PII.
Connect what else you run
Your repo, error tracker, Stripe account, server-side analytics - plus a zero-setup audit of your own site. Every source is normalized into one shape, so a single recommendation can draw on several at once.
Fix it where you work
Read the ranked list on the dashboard, get it as a weekly email, push it to Slack, or pull it into Claude Code and Codex over MCP - so your coding agent knows what real users, and your own tools, are already telling you.
Give your AI coding agent eyes on production
The Betterloop MCP server plugs into Claude Code, Codex, and any MCP-compatible agent. Ask "what should I fix next?" and it answers with real user evidence - then fixes it.
claude mcp add --transport http betterloop \
https://betterloopai.com/api/mcp \
--header "Authorization: Bearer blk_..."Hosted, so there is nothing to install and no npm package to wait for. Works the same in Codex and Cursor. Full setup, the tool list and troubleshooting in the MCP docs.
Docs for the whole path
Every piece is documented and copy-pasteable - you should be sending events in under five minutes.
Install the SDK
Script tag, npm package, or framework snippets for Next.js, React, Vue and plain HTML. 2.5KB, no cookies.
Wire up MCP
Point Claude Code or Codex at your project so your agent can read insights, errors and vitals while it codes.
Pull the REST API
Insights, errors and metrics as JSON with an API key - build your own dashboard, alerting or CI gate.
Also in the docs: how insights are detected, Slack digests, and what we do and do not collect. Browse all docs
Pricing
Pro
- 5 projects
- 500,000 events / month
- Daily insight runs
- Priority AI analysis