Evaluator
How the evaluator works
The groundedby evaluator reads Claude Code and Codex session files in your browser and counts sessions, turns, tool calls and active hours. Nothing is uploaded.
Updated October 29, 2026 // Markdown
The evaluator turns a folder of session files into one card. Here is everything it does.
What it reads
You pick a folder. The evaluator looks for .jsonl files in it, up to six levels deep:
- Claude Code files, from
~/.claude/projects/<project>/<session-id>.jsonl. Files under asubagentsfolder belong to their parent session and are skipped. - Codex CLI files, named
rollout-*.jsonl, from~/.codex/sessions/YYYY/MM/DD/.
Each line of a session file is one JSON record. From each record the evaluator reads:
- the timestamp, to measure active time;
- the type and role (a person's message, the agent's reply, a tool call), to count turns and tool calls;
- the tool name, to recognize products such as
mcp__..._PostHog__...tools; - for shell commands, the first word only, to recognize product CLIs such as
vercelorsupabase.
It does not keep message text, code, file contents, tool inputs or outputs, or project paths. The source is in the page itself, in plain JavaScript you can read in your browser's developer tools.
What it counts
| Number | How it is counted |
|---|---|
| Sessions | Files with at least one turn or tool call |
| Turns | Messages a person typed (tool results are not turns) |
| Tool calls | Every tool the agent called: shell, file edits, MCP tools |
| Active hours | Time between consecutive records, skipping gaps over five minutes |
| Products | Names from a fixed list only, so a private server name never shows |
A gap of more than five minutes counts as someone away from the keyboard. A session left open overnight counts only the minutes of work.
Which products it names
Only products on a fixed list: GitHub, Supabase, Vercel, Stripe, PostHog, Linear, Sentry, Cloudflare and about 70 more. An MCP server's id is whatever its owner named it, and a name like acme-billing-db could reveal something private, so an unknown name is never shown.
The estimate
Sessions are sorted into tiers by turns, active time and tool use, and each tier carries a value range. The valuation method explains the tiers and where the numbers come from.
What leaves the page
Nothing, unless you join the waitlist. If you do, the form sends your email, the side you picked and, only if the box is ticked, the counts shown on your card. Privacy model.
Questions
Why does my browser say "upload"?+
Some browsers use the word upload for any folder a page may read. The evaluator reads the files with the File API inside the tab and sends no request with them. You can check this by switching off your network before you pick the folder.
Can I run it on a folder from another machine?+
Yes. Copy the folder over, or pick it from a mounted drive. The evaluator only needs the .jsonl files.
Does it work on Windows and Linux?+
Yes, in any current browser. On Windows the folders are under %USERPROFILE%, for example %USERPROFILE%\.claude\projects.
Waitlist
Your sessions, your call.
We are building an opt-in marketplace where developers license redacted sessions they pick, one by one. Join to hear first.
Read next
- OverviewWhat is groundedbygroundedby is a reference on AI coding agent session data, a browser evaluator, and a waitlist for an opt-in marketplace for redacted sessions.Read +
- PrivacyPrivacy modelHow groundedby handles your data - the evaluator runs locally, the waitlist stores only what its form shows, and future sales happen one reviewed session at a time.Read +
- Market$500, then $200: what one posting tells us about the price of a coding sessionIn October 2026 Mercor paid developers $500 per recorded coding session, then cut it to $200 within a week. What the price says about the market for agent session data.Read +