I am Gerhard. I built PhraseVault after years of watching people lose time on text they already had. A VAT number, an IBAN, the reply that went out last Tuesday: the words exist. The person at the keyboard still types them again, because finding them costs more than retyping them.
A text expander is supposed to end that loop. For a small library, the usual design does. You assign
;vat to the VAT line, ;iban to the bank details, ;late to the delivery-delay email. Twenty phrases, twenty triggers, and the tool feels clever. Then the library grows. The trigger you invented in March does not come back in October. You still remember the sentence. You do not remember the abbreviation. So you retype the sentence, which is the job you installed the tool to retire.The library did not fail because the text was wrong. It failed because the only key to that text lived in your head.
The job is to find the phrase and insert it
The real job is small. Find the right phrase. Put it at the cursor. Search does that job on an ordinary Tuesday, with 30 phrases or with 300. A private code you have to recall to insert a phrase turns the rare phrase into a phrase you will not save.
I care about the phrase you need twice a year: a returns policy, a lead-time paragraph, a command from an old ticket. If that phrase is harder to reach than the one you use before lunch, you will stop saving it. Next year you will type it from memory, a little differently, and someone will copy the wrong version into a customer email.
So PhraseVault has no trigger abbreviations. You do not invent one when you save a phrase, and you do not keep a second vocabulary next to the real words. You give the phrase a plain name you would say out loud. The name and the body are what search uses. That is how a phrase gets in, whether you saved it this morning or last spring.
How I use PhraseVault
The sequence is the same in any app where I can paste. Mail, a browser field, Slack, an editor, a terminal.
I put the cursor where the text should land. I press Ctrl+. on Windows, or Cmd+. on a Mac. PhraseVault opens on top of the app I am already in. Those are the shortcuts I ship. You can change the summon shortcut in Settings if a particular machine already uses that chord.
I type a few letters I know are in the phrase. Sometimes that is the name: vat, delivery, commit. Sometimes I only remember a scrap of the body: a street, a product, a sentence I liked. Search matches fragment terms against the name. For an unprotected phrase it also matches the contents, and every word I type has to appear. I am matching text that is really there. A misspelling will not be repaired for me. Exact name matches come first, then other matches by how often I use them.
If I have protected a phrase with the PIN, search stays on the name only, even while it is unlocked. That is deliberate. I do not want the body of a locked phrase appearing just because I typed a word from it.
When the search has matches and the first row is the one I want, I press Enter. The text is pasted at the cursor, PhraseVault hides, and my previous clipboard is restored. If I want a different row, I move to it and then press Enter. Escape hides the window if I summoned it by accident. An empty search does nothing on Enter until I have focused a row, so I do not paste a surprise.
A name I would use in conversation is enough. "Delivery delay, in stock Friday" is a better name than
dd3. When I am in the mail and I think "the Friday one", I type friday. The phrase comes up because those letters are in the name or in the text I am about to insert. I never had to guess, at save time, which four characters I would still remember in October.That is the loop. Summon, type something true about the phrase, Enter. I use it for the dull inventory of a small business: the VAT line, the IBAN, address blocks, the answers support sends every week, a prompt worth keeping, a command I do not want to reconstruct from shell history. Summon it from the app you are in, search the name and the contents, insert, and get back to the sentence you were writing.
The tools next door
Espanso, AutoHotkey, and TextExpander are serious tools. People do real work in them, and I have no interest in scoring points off that.
Espanso is a strong expander built around triggers, with a YAML library if you like keeping phrases in files. AutoHotkey will automate far more than phrases on Windows, including hotstrings, if you are willing to write the script and keep it. TextExpander has spent years on abbreviation expansion and shared libraries. Its Chrome extension also suggests snippets without requiring you to type the abbreviation.
Trigger-based workflows fit a different habit. Expansion happens because you typed a code, or because a general automation tool is already how you work. My cut is narrower. I would rather open a search box than maintain abbreviations beside the real text. If your library is five triggers you type all day, a trigger tool can be the faster hand. I built PhraseVault for the library that outgrows the codes, and for the person who will not open a script to change one sentence.
If you already have phrases in Espanso YAML, or in a TextExpander CSV, PhraseVault can import them. The preview lets you skip or overwrite one phrase at a time, so a trial does not have to start with a blank library or a blind replace.
The file stays on your machine
Your phrases live in a SQLite file on your own disk. There is no PhraseVault account, and no server of mine that receives the text. The app works offline. It runs on Windows 10 and newer, and on macOS 13 Ventura and newer. One license covers both.
When you want the same library on another computer, point that database file at a folder you already sync. Dropbox, OneDrive, and iCloud are enough for that. You bring the folder. I do not sell a sync plan on top of the license. A shared folder is also how a small team can open one database together.
That folder is only as quick as the sync client behind it. iCloud Drive and a VPN share can take longer to catch up than a fast cloud folder on a desk machine, so I would not describe this as a live multiplayer editor. For one person on two machines, or a team that edits phrases now and then, it is the right amount of machinery. If the file is on your disk, you can see it, copy it, and back it up by copying it. Settings shows you where the database is, and you can open another file when you want a separate library.
Try one week with names only
Here is the trial I trust. For one week, save phrases with names you would say to a colleague. Do not invent a code beside them. There is nowhere to put one. When you need a phrase, press Ctrl+. or Cmd+., type a word you remember from the name or the body, and press Enter.
Start with the ten texts you retyped last month. The VAT line. The late-delivery note. The address. The paragraph you keep polishing in drafts and then sending in a slightly worse form. Give them dull, obvious names. Let search carry them.
The download includes a 14-day trial, without a card, before the one-time license. If you finish the week and you still want a code that expands as you type, a trigger-based tool may fit your hands better. If you finish the week and the phrases you rarely use are still easy to find, that is PhraseVault doing the job I built it for.