Web analytics that tells your coding agent what to fix next.
Trace watches how people use your site, in aggregate. Your coding agent reads that over MCP with its own model, finds what to fix and makes the change, and Trace measures whether it 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
Trace measures, your agent improves, Trace checks
Patterns, not people. Only aggregates leave the browser, and only after visitors allow it. Your agent analyses with its own model, over MCP, and sees the same summaries you do.
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 the aggregated summary and KPIs, saves what it finds as insights, implements one 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.