Speech-to-text is remarkably good at common vocabulary. It stumbles on everything else: your name, your colleague's name, your product, the framework you use at work. A custom dictionary fixes this by teaching Hovor the exact spellings you need — and it feeds those entries to the AI cleanup pass, so the model corrects on the fly throughout your session.
Speech recognition models are trained on enormous amounts of text — news articles, books, subtitles, web pages. That training data is heavily weighted toward common words in standard contexts. Rare proper nouns — personal names, brand names, technical jargon, place names with non-English spelling — appear far less often in training data, so the model assigns them lower probability and reaches for a more familiar substitution instead.
A few common failure modes:
The problem is not that the model is broken — it is doing what it was trained to do, which is to produce the most probable output given the audio signal. Your job is to shift those probabilities for your specific vocabulary.
Hovor's custom dictionary is a set of mapping rules. Each rule says: "if the transcription contains any of these variant forms, replace them with this canonical output." The syntax is straightforward: you list all the incorrect variants the model might produce, separated by | characters, then an arrow, then the correct form you want to see in your text.
For example:
Кирило|Кирилл|Cyril → Кирило — no matter how the model transcribes your name, it lands as the Ukrainian spelling.Київ|Киев → Київ — the Ukrainian capital is always spelled correctly, even when the model reaches for the Soviet-era form.kubernetes|cube ornetes|cube ornate is → Kubernetes — both the phonetic mishear and the capitalisation are fixed.postgresql|post gres|post-gres-sequel → PostgreSQL — common mangling of the database name is caught.oauth|oh auth|o-auth → OAuth — the authentication standard is spelled consistently.Тімʼєй|Тімей|Timay → Тімʼєй — less common Ukrainian names with apostrophes are preserved exactly.The replacement is applied after transcription, before the AI cleanup step. This two-stage design matters: the raw transcription from the speech model is corrected first, and then the LLM cleanup receives already-fixed text. As a result, the AI sees the correct terms and reinforces them through the formatting pass rather than working against them.
Beyond replacement, dictionary entries also serve as hints to the LLM. When Hovor builds the system prompt for the cleanup model, it includes your dictionary entries as vocabulary context. This means the model is aware of your preferred spellings from the very start of a session and applies them consistently throughout — not just as post-processing substitutions, but as part of how the model interprets and formats everything you say.
|. You can add as many variants as you like — three or four covers most cases. If you are unsure which variants the model generates, dictate the word a few times without any dictionary entry and check the raw transcription.You can edit or delete entries at any time from the same Dictionary screen. Changes sync across devices automatically.
The dictionary is case-insensitive on the variant side by default. If your term has mixed-case variants that mean different things (unlikely, but possible), create separate entries.
Dictionary entries are stored on Hovor's server and synced across all your devices. Add an entry on your iPhone during a commute and it is waiting on your Mac when you sit down at your desk. The sync happens in the background and does not interrupt an active dictation session.
The AI learning aspect deserves a closer look. Hovor's cleanup pass uses an LLM (gpt-4o-mini on the server, or EuroLLM / Apple Foundation Models for on-device processing) to fix punctuation, capitalisation, and phrasing after the raw transcription. The system prompt for that model is built fresh for each session, and it includes your dictionary entries as context. This means:
The effect compounds: a well-populated dictionary means fewer corrections after dictation, which means faster writing, which means more dictation, which reveals more missing entries to add.
If you dictate code-adjacent content — documentation, technical blog posts, design documents, Slack messages about your stack — a small set of entries covers a large fraction of the errors. Start with the names of technologies, frameworks, and tools you use every day. Common entries for developers include database names, cloud provider services, framework names, and the names of internal projects or microservices that have unusual spellings.
Examples that save significant correction time: docker|doc ker → Docker, github|git hub → GitHub, typescript|type script → TypeScript, graphql|graph ql|graph queue el → GraphQL.
Many brand names are just common words with unusual capitalisation that speech models cannot infer from audio alone. apple|Apple → Apple is a no-op in most sentences, but iphone|I phone|I-phone → iPhone is immediately useful. The pattern is the same: list the phonetically-plausible mangled versions alongside the lowercase version, and set the canonical to the official casing.
If you dictate in more than one language, the same dictionary applies across all of them. This is an advantage: if you have both English and Ukrainian names in your vocabulary — as most professionals in technology do — you add them once and they are covered regardless of which language you are currently dictating in.
For Ukrainian-speaking users specifically, the most valuable entries tend to be proper nouns that have well-known Russian or Soviet-era transliterations: city names, personal names with Ukrainian-specific spelling, and terminology that diverged between Ukrainian and Russian after independence. An entry like Харків|Харьков → Харків ensures the Ukrainian spelling is always used.
Professionals who dictate within a specialised domain benefit most from the dictionary. Medical practitioners can map phonetic mishearings of drug names, anatomical terms, and procedure names. Legal professionals can ensure jurisdiction-specific terminology is spelled consistently. Researchers can lock in the exact form of technical terms, gene names, or citation-style abbreviations they use repeatedly.
The dictionary has no semantic limit on what it can contain — if a speech model can mishear it, you can fix it.
The free tier of Hovor includes the custom dictionary. Local Unlock ($49.99 / 1999 UAH, one-time, family-shareable) removes limits on the number of dictionary entries, alongside unlimited snippets and workflows. For most users, the free tier's dictionary allocation is sufficient for personal and professional vocabulary. Power users — developers building extensive term lists, professionals with large domain vocabularies — will find Local Unlock worthwhile for the unlimited entries alone.
Set up your custom dictionary in Hovor and let the AI cleanup pass learn your vocabulary. Available on iOS, macOS, and Android. Free tier includes the dictionary; Local Unlock removes all entry limits — one-time, family-shareable.
Get Hovor