Skip to main content

Features

A complete personal analytics layer for AI work.

AI Stats combines imports, metrics, projects, recaps, and sharing without pretending every source exposes identical data.

Cross-provider dashboard

Filter by provider, project, model, and time period with exact and estimated metrics clearly labelled.

Coding-agent analytics

Count prompts, tools, subagents, tokens, durations, models, errors, and project hints from local logs.

Session explorer

Search, sort, tag, archive, export, and inspect sessions while raw transcripts remain local by default.

Conversation constellation

Explore sessions as provider-coloured nodes with project clusters and an accessible table fallback.

Achievements and recaps

Unlock milestones from real data and generate weekly, monthly, annual, project, or provider recaps.

Privacy-safe sharing

Publish revocable, unlisted snapshots with field-level controls and no raw private conversation content.

How a file becomes a metric

An import runs in four visible steps. A browser worker streams allowlisted files, discards raw content, and produces a preview. Only normalized counts, timestamps, durations, models, provenance, and account-scoped anonymous grouping hashes are sent after confirmation.

That order matters. Parsing before uploading is what makes it possible to promise that raw prompts, responses, attachments, and local file paths never reach the server. It also means a format the parser does not recognise fails on your machine, in a preview you can read, rather than becoming a silently wrong chart later.

What the quality labels mean

Cross-provider analytics is mostly a problem of unequal data. Rather than flattening that into a single confident number, every metric carries a label describing where it came from.

  • Exact: read directly from the source with no transformation, such as a message count.
  • Source reported: the provider stated the value, and it is passed through as stated rather than recomputed.
  • Derived: computed from values the export supplied, such as a session duration from first and last timestamps.
  • Estimated: modelled where the source is incomplete, always labelled and never presented as measurement.
  • Unavailable: the source does not carry it. The panel says so instead of showing zero, because zero is a claim.

Chat assistants and coding agents in one view

A chat export and an agent log are not the same kind of record, and the dashboard does not pretend otherwise. Chat sources typically give you conversations, message counts, timestamps, and model names. Coding agents can give you far more: tool invocations, subagent runs, model routing decisions, error rates, token and cache usage, wall-clock and active durations, and hints about which repository or project the work belonged to.

Filters run across both. You can narrow by provider, project, model, and time period and get a comparison that is honest about which side of it is thinner. Projects can be grouped from repository hints and aliases so work is counted by what it was for, not just by which tool produced it.

Sessions, recaps, and getting data back out

The session explorer is the raw material: search, sort, tag, archive, and inspect individual sessions, with the constellation view offering the same data as a spatial map and an accessible table fallback. Achievements unlock from real thresholds in your own history rather than from engagement mechanics, and recaps assemble weekly, monthly, annual, project, or provider summaries from the same numbers.

Sharing turns a recap into an unlisted snapshot page with field-level control over what appears, plus expiry and revocation. Export produces the normalized statistics the product holds about you, and account deletion removes them. Nothing about your history is locked inside the product.

Availability differs by provider. The integrations pages describe what each supported adapter accepts and which metrics it can and cannot produce.