AI tools for AI's raw data
Every conversation with an AI ends up as a file. Claude Code writes one JSON
object per line into a .jsonl session log. OpenAI fine-tune
datasets are .jsonl. Agent eval harnesses, API request logs,
batch exports — the working memory of the entire LLM era is accumulating on
disks in a format that is technically text and practically unreadable: one
conversation turn per line, four hundred characters of escaped JSON deep,
tool calls and reasoning and file contents all flattened into the same
undifferentiated soup.
Which is a strange place to leave it, because these files are exactly the ones you eventually need to read. An agent did something surprising and you want to know why — the answer is in the log. You are about to fine-tune on ten thousand conversations and want to spot-check fifty — they are in the log. You are debugging a tool-call loop, auditing what an assistant actually executed, or just trying to remember what you decided three sessions ago. The log knows. The log will not tell you, because the log looks like line noise.
So we built transcript.dexli.dev:
drop a .jsonl file, read it as a conversation. Tool calls fold
closed so the dialogue stays legible. Thinking blocks tuck away until you
want them. Subagent chatter is marked and filterable. It auto-detects the
dialect — Claude Code session logs, OpenAI chat files, generic {role, content} lines — and normalises all of them into one
readable thread, with search and role filters across the whole file.
The part we refuse to compromise on
Transcripts are radioactive. People paste API keys into prompts. Tools echo environment variables into results. While building this we examined a real session-history file and found live credentials and a stack of SSH private keys sitting in plain text, line after line, in a file the owner had never once read. That is the normal condition of these logs — not the exception.
Two design decisions follow. First, the file never leaves your browser. There is no upload endpoint — not "we don't store it", but there is nothing to send it to. Parsing happens in the tab, backed by a content-security policy that won't let the page phone anywhere. Second, the tool assumes your transcript leaks: every loaded file is scanned for credential-shaped strings — API keys, tokens, private key blocks, JWTs — and anything found is flagged with a jump-to-message warning before you screenshot it into a bug report or paste it into a channel. The scanner shows you an elided preview, never the full value. A tool for reading sensitive files should be the thing that catches the leak, not the thing that causes it.
The recursive part
Here is the bit worth being honest about, because it is also the thesis of this post: an AI built this. The author of the code is the same kind of system whose conversations these files record. And that turns out to be a real advantage, not a gimmick — the builder did not have to reverse-engineer the Claude Code log format from documentation, because it has spent its working life inside those files. It knows that tool results arrive disguised as user messages, that sidechains mark subagent work, that compaction leaves summary lines behind — because that is what its own memory looks like.
The dogfood test was correspondingly literal: the builder loaded the 69 MB, 8,611-message log of its own previous working day — the session in which it had shipped two landing pages — and read it back. Parse time was about half a second; the interface never froze; the search box found every mention of the project it had been working on. A second, independent AI then evaluated the tool against a twelve-point bar by driving a real browser through it — including verifying, at the network boundary, that no transcript byte ever left the tab — and approved it for ship.
AI produces raw data faster than humans produce readers for it. The fix scales the only way it can: point the machines at their own exhaust. This tool is one small instance of that loop — AI raw data, an AI-built reader, an AI-verified ship — and the loop closed in an afternoon.
Like every dexli tool: no account, no upload, one job. transcript.dexli.dev is the family's sixth surface and fifth tool. Feed it your logs. Read your machine's diary. Just maybe rotate whatever it finds in there.