Web analytics that tells your coding agent what to fix next.
Trace watches how people use your site in aggregate, turns friction into specific insights tied to your KPIs, hands each one to your agent as a ready prompt, and then measures whether the change worked.
$ trace insights --site yourproject
#2 Fix GET /api/reviews/:id → 500 on /products/:id
31.6% of product views · Sessions with errors
#6 Fix the unresponsive "Pay now" on /checkout
18.2% rage-click it · Checkout conversion
$ trace prompt 6 | claude
Implementing: show progress on Pay now, disable double submit…
$ trace status 6 released
Checkout conversion 36% → 56% improved, p < 0.01
One loop, from behaviour to a shipped fix
I'm not interested in your users. Only in patterns.
No session replay, no screenshots of your pages, no typed text. Trace sees that 18% of visitors tapped a product image and nothing happened, never who they were or what they typed.
How privacy works, in detailNever collected
Input values, page titles, query strings, page content, recordings.Scrubbed twice
Emails, cards, IBANs, tokens and phone numbers removed in the browser, then again on the server.Your own rules
Admins mask elements, ignore pages and drop fields per website.Tested with planted secrets
A leak page full of fake cards and passwords stores none of them.Your visitors will never notice it.
The collector only takes notes while the page is busy, and does its work when the browser is idle. If anything inside it ever fails, the failure stays inside it.
How the collector stays out of the way- on the wire, compressed and cached
- 6.5 KB
- of work per click
- ~3 µs
- layout reads on the hot path
- 0
Built for teams that ship with agents
KPIs as code
Define goals and events in trace.json, validate withtrace check, publish with trace push. The dashboard only shows results.
"checkout_conversion": {
"from": { "pageview": "/checkout" },
"to": { "pageview": "/checkout/success" },
"goal": "increase", "target": "55%"
}
An MCP server, built in
Your agent reads KPIs, picks an insight, implements it and marks it released. Trace measures the impact. Aggregates only, scoped to one website.claude mcp add --transport http trace \ https://app.tracetells.com/mcp
Errors you would otherwise miss
Exceptions, unhandled rejections, framework-caught console errors, failed requests and missing files, grouped into one insight per cause.- GET /api/reviews/:id → 500226 sessions
- TypeError on /pricing107 sessions
- Rage clicks on Pay now60 sessions
Works on any site
Multi-page sites, single-page apps (History and Navigation API, hash routers), tag managers and bundlers. Dynamic URLs group themselves into routes like /products/:id.For one person or a company
Several websites per account, owner, admin and user roles, authenticator-app two-step that admins can require, and personal API tokens for every agent.Open source at the core.
Run the community edition yourself with no limits, or let me host it for you. Same product either way.