UX analytics for teams that ship with agents

Watch the session. Trust the event.

Replay shows where people hesitate. A shared catalog keeps engineers, agents, and the dashboard using the same words for checkout, search, and pay.

Replay
02:14
/book/checkout/confirmRage click
00:42 / 02:14
Stylized session replay player with path chips, a rage-click marker, and a playhead on the timeline.

In production

FastTrack BKK

Catalog

Shared with agents

Replay

Before React hydrates

Privacy

Consent-aware capture

Built for the moment an agent writes your instrumentation

Most analytics tools assume a human typed every event name. FastTrack Analytics assumes the next pull request was drafted by a model — and that you still need the recording, the funnel, and a name you can defend in a standup.

Replay that explains the stall

Watch the session, not a chart of averages. Rage clicks, dead ends, and funnel steps sit on the same timeline so a product change has a reason.

A catalog agents cannot invent around

LESP is the dictionary. Name checkout once. Humans approve it. Models reuse it. Unknown semantic events are refused — they do not quietly poison next month’s funnel.

Instrumentation from the editor you already use

Connect MCP, generate the snippet, embed the SDK. You do not need a separate analytics IDE to keep names honest.

See the rest of the product →

Why LESP exists

Give agents a dictionary — or they will invent one

LESP (LLM Event Schema Protocol) is the shared catalog of product events for a site. You name checkout once, in language a person and a model can both read. Every later track() call, replay marker, and funnel step uses that name. If an agent invents CheckoutStart next week, ingest refuses it.

  1. 01

    Name it once

    Register the event in Event Studio with a short description of the moment that matters — “customer started payment,” not a leftover CSS class.

  2. 02

    Reuse it everywhere

    The SDK, data-insight-id tags, and any MCP client read the same glossary. The next agent session does not get a blank page and a guess.

  3. 03

    Refuse the drift

    Strict mode drops unknown semantic events. Behavioral noise (page views, rage clicks) still captures automatically. Product vocabulary stays intentional.

Replay, funnels, and the standup use the same words. You stop arguing whether checkout_started and CheckoutStart are the same conversion.

Event Studiosite catalog
  • checkout_startedactivev3
  • booking_completedactivev2
  • payment_faileddraftv1
  • rage_clickauto—
  • page.viewauto—
Stylized Event Studio catalog with snake_case event names. No customer data.

Event Studio — humans approve what agents propose

Already in production

FastTrack BKK

Live on a real booking site. Replay showed where people stalled; the catalog kept funnel names from drifting after each agent-assisted change.

Agencies & brands

Growth and Scale are for more than one property: compare sites, keep seats bounded, and export what a client actually asked for.

Any MCP client

Cursor, VS Code, Claude Code, Devin — the agent reads the same glossary it writes. You review Event Studio. Nothing ships as an invented name.

From a named event to a fix

Four steps. No second schema for the agent, no rented vocabulary for the dashboard.

01

Agree the events

Catalog in Event Studio

02

Capture the session

SDK + early recorder

03

Ingest with rules

Unknown names are refused

04

Watch and fix

Replay, funnels, alerts

See the next abandoned checkout

Open the dashboard to create a site, or compare plans first. Self-serve checkout is not live yet — we will not pretend it is.