The glossary that learns my words

Muddy dot com
The night shift was now filing my calls word for word. Then I started reading them.
Half my calls switch between Bangla and English mid-sentence. Nobody on the call notices. The transcript notices.
I'd open a cleaned note and read that we'd agreed to move the project board into "muddy dot com". We hadn't. We'd said Monday.com.
Every time I mentioned Claude Code, the transcript wrote "cloth code".
And then there were the numbers. A speaker turn that said only "4". Another that said only "8". A lone "7", sitting there in the middle of a serious conversation.
Nobody had said a number. Someone had said achha, or ji, or mm. Bangla for "right", "yes", "mm-hm". The transcription engine heard a short sound, guessed a digit, and wrote it down with total confidence.
The obvious fix is a find-and-replace list. "muddy dot com" becomes Monday.com, done. And for a week, that works.
Then it breaks. The list doesn't know the difference between a word it has seen in twenty calls and a word it saw once, in one bad recording, from one person with a cold. Give it a single wrong entry and it will "correct" that word in every transcript forever, silently. A find-and-replace list doesn't learn. It parrots.
I didn't want a list. I wanted the hire to have been on enough of my calls to know my words... and to know the difference between "I've heard this a lot" and "I heard this once".
The idea
A correction has to earn its way up, one separate call at a time, before the system trusts it on its own.
Every new correction starts at the bottom of a three-rung ladder: Watch, Suggest, Auto-apply. It climbs only when it turns up in a different call. Twenty repeats in one call still count as one. That's the difference between learning and parroting.
How it fixes code-switching transcription
Every time a call gets cleaned, the glossary does three things. It reads what it already knows. It applies what it trusts. Then it writes down what it learned.
What it does with each correction depends on the rung.
Watch. It's seen the sound, but the meaning isn't clear yet. It writes it down and does nothing else. The transcript is left alone.
Suggest. The meaning is clear from context. It applies the fix, and adds a line to a "things to verify" list at the bottom of the note. I glance at it. If it's wrong, I say so.
Auto-apply. It's now been seen in three separate calls. The fix goes in on sight... but it still checks the sentence makes sense. If a known fix would produce nonsense, it flags it instead.
a new sound, meaning unclear
│
▼
┌──────────────┐
│ WATCH │ written down, never applied
└──────┬───────┘
│ context makes the meaning clear
▼
┌──────────────┐
│ SUGGEST │ applied, and flagged for me to check
└──────┬───────┘
│ seen in a 3rd separate call
▼
┌──────────────┐
│ AUTO-APPLY │ applied on sight, still sense-checked
└──────────────┘
20 repeats in 1 call = 1 sighting
1 mention in each of 3 calls = 3 sightingsOne word, three calls
Here's a made-up word climbing the ladder. Say I work with a company called Juno Freight. (Fictional.) The transcript keeps writing it as "June of fright".
Call one. Someone says "June of fright" once, near the end. Is it a month? A deadline? The meaning isn't clear. The glossary puts it on Watch. One sighting. The transcript stays exactly as it was.
Call two. A different call, a different day. "We're onboarding June of fright next week." Now the context is clear: it's a company. The glossary moves it to Suggest. Two sightings. The cleaned note says "Juno Freight", and the "things to verify" list says: "June of fright" → Juno Freight, suggested, please check. I check. It's right.
Call three. A third separate call, and this time the name comes up twenty times. The glossary counts it once. Three sightings, three separate calls. It's promoted to Auto-apply, and a dated entry goes into the glossary's growth log saying so.
From now on, "June of fright" becomes Juno Freight on sight. Unless, one day, someone on a call is genuinely talking about a fright in June. Then it flags instead of fixing.
Five guards
The ladder is the main defence. Five rules keep the glossary from poisoning itself.
- Nothing starts at the top. A new correction always enters at Suggest or below. Never straight to Auto-apply.
- Trusted still gets checked. Auto-apply fixes are context-checked every time.
- No invented people. A name only goes in after it's been checked against the people the brain already knows about.
- I co-own it. I can promote, demote or delete any entry by hand. The glossary is its most frequent editor, not its only one.
- No silent rewrites. Every change is written into a dated growth log. Nothing is ever quietly edited away.
What I learned the hard way
The noise was people agreeing. A lone "4" on a speaker turn looks like junk to delete. It was someone saying "right". If I'd cleaned it as noise, I'd have deleted a lot of the agreement in my calls. The glossary now has a whole section just for Bangla fillers and acknowledgements.
Count calls, not mentions. One enthusiastic speaker saying a word twenty times is one piece of evidence, not twenty. The day I understood that was the day the glossary stopped being a list.
It grew past what one read can hold. The glossary got big enough that an agent reading it in one go only sees part of it. One run tried to edit a line it had never actually read, and the edit failed. Now it reads only the slice it's about to change before it touches anything.
Most of it should sit in the middle. As of 2 October 2026 the glossary has 1,104 lines and 31 dated growth-log entries. 29 corrections are at Auto-apply. 98 are at Suggest. 50 are on Watch. That shape is the guards working: far more corrections waiting for evidence than trusted outright.
Try it
learning-glossary... a glossary that learns the words your transcripts get wrong, one separate call at a time, with the five guards built in.Open the repoThe honest limit
The glossary learns what sounds mean. It doesn't learn judgement, and it can't fix a call nobody recorded. I also haven't yet timed cleaning a call by hand against cleaning it with the glossary, so I can't give you minutes saved yet. What I can say: for code-switching transcription, a glossary that earns its corrections beats one that guesses.
Read this next
The hire finally had an ear for my words. My beliefs about clients, pricing and teams had no such protection.
Next... The ladder: same ladder, different job. What happens when you climb business patterns instead of words.
Related: The critic, for what checks the output once the words are right.
Building one of these? You don't have to do it alone.