Swear Jar · an unfocused.ai open-source project

How frustrated are you at AI? Let’s measure it.

Swear Jar is a local developer tool for Claude Code and Codex. It scans the AI prompts and recordings you already have, counts how often you swear at the machine, and turns the aggregate word counts into a ridiculous engineering damage report.

The report is generated locally and stays on your machine. Only disclosed aggregate numbers can travel — a hosted report link, a shared card, or a leaderboard entry — and we may keep and use those aggregate numbers. We never take your transcripts.

Three steps

Get your damage report

The concept is simple: install from GitHub, analyze the history you already own, then see the numbers. One route, one command, one report.

Launch day: the repository is public and the commands below are ready to run.
1

Install

Clone the repository, then run the guided setup. It wires the hooks, scans the history you choose, and writes a local report.

📦 GitHub source MIT licensed
git clone https://github.com/BigLaserCo/swear-jar.git
cd swear-jar
node bin/swear-jar.mjs install
node bin/swear-jar.mjs init --local
2

Analyze your history

Scan supported AI prompts plus existing recordings or transcripts from tools such as Superwhisper. Analysis happens locally; the ledger keeps aggregate counts, not sentences.

node bin/swear-jar.mjs backfill
3

Open the damage report

Build the local report. It opens on your machine. If you later open your hosted report link, share the generated card, or join the leaderboard, only the disclosed aggregate numbers leave — and we may keep and use those numbers.

node bin/swear-jar.mjs dashboard --local

Uninstall anytime: node bin/swear-jar.mjs uninstall removes only the hooks; your local ledger and report stay untouched. The same command is in the README and man page.

Plain-English privacy

Your words stay yours.

Raw text stays local.
Prompts, sentences, recordings, transcripts, and code are analyzed on your machine.
Only aggregate numbers may leave.
Your report is local. A hosted report link, a shared card, or a leaderboard entry sends disclosed aggregate swear statistics — never your sentences — and we may keep and use those numbers.
The board is opt-in.
A leaderboard entry adds only the display name and email you type; the email exists to verify the entry (double opt-in) and is never shown.
Read the code.
It is MIT-licensed and intentionally small. You are welcome to have your own AI inspect it for anything funky.

Read the privacy and terms →

Check your survival odds → Will the robots spare you?

Donate to the tip jar Join the mailing list