You pick history files. Your browser reads and analyses them.
Conversations, results and exports never leave the device.
No account, no analytics, no AI models: the score comes from fixed rules.
Data stays in this browser until you clear it. Export an archive to keep a copy.
Later · optional
Connected
Sign in and combine histories from several devices.
Only after you agree to upload, and only the files you pick. Our server can read uploaded data to process it.
Optional public profile and optional model-based analysis, each with its own consent.
Opening this website downloads the app, and the host may keep ordinary access logs (for example your IP address). The on-device promise covers your conversations and results: those are never sent.
A sample report
Invented numbers so you can see the format. Pick a score to see how the signed scale reads, from −100 to +100, with 0 in the middle.
Demo · sample data, not yours
Demo AI Karma
AI Karma +67 on a scale from −100 to +100
+67
The Ray of Sunshine
Thanks and praise everywhere. Your assistant would probably write you a thank-you note.
-1000+100
A playful score based on the words you used. It covers only the files you imported, and it isn’t a verdict on you.
What moved the needle
Your signature moves
17messages said thanks, out of 371
16requests came with a please
18corrections (fair game, not counted against you)
7messages aimed an insult at the assistant
Kind vs. harsh
Where your words landed
33 kind messages and 7 harsh messages out of 371 readable messages.
Kind33
Harsh7
Plain, direct instructions count as neutral. Corrections and frustration are never counted as harsh. Readable messages: 371.
Activity
The ground covered
Your messages
412
Conversations
58
Active days
41
What we read
371 of your 412 messages were readable
That’s 90% of your messages. The rest were set aside, never counted against you:
Language we can’t read yet (English only for now)12
Only code, quotes or empty29
No date in the source7
Not clearly written by you2
Assistant replies, tools and system text (never scored)2,980
Missing dates and unknown authors are disclosed, never guessed. Nothing here counts as harsh.
Method
How this was worked out
Fixed, versioned rules look for polite requests, thanks, praise, apologies and clearly targeted insults in your messages. No AI model is involved. A score appears once there are at least 30 readable messages and 10 messages with a signal.
score = round(100 × (P − H) ÷ (P + H + 10)), kept between −100 and +100
Karma processor
1.0.0
Rules
karma-en-1.0.0
Text extraction
extract-1
Language check
lang-heuristic-1
Demo data: invented for illustration.
What you can import
Each source says how well it has been checked. “Unverified” means we built it from documentation and have not tested it against a real export yet.
Supported sources and their verification status
Source
Status
Where to find it
Claude Code
Tested on real local data
Session files in ~/.claude/projects (one folder per project).
Codex CLI
Tested on real local data
Session files in ~/.codex/sessions and ~/.codex/archived_sessions.
Claude (web export)
Unverified
The conversations.json file from a claude.ai data export, unzipped.
AI Karma archive
AI Karma format
A folder you exported from AI Karma (ZIP archives: coming soon).