Blog
The third time you type the same sentence, stop. These notes are scene-first: the loop, then templates, then capture and sync. Not internals. Step-by-step product docs: Getting started.
The third time you type it — stop
Text expansion is not a typing class. Turn finished sentences into abbreviations and expand them with Tab in any text field. Free 50 snippets is enough to move the worst repeats. Read more
It expands in Chrome — dead in Outlook
A tool that only expands in web pages is idle the moment you leave Chrome. CodeExpander expands at the OS. We have no browser extension, and that is documented on purpose. Two boundaries, not one product. Read more
A placeholder is not a form — the popup is
An underline in the body is a reminder to edit later. A form appears when you expand: one line, many lines, a menu, a checkbox, a branch. Same name, fill once. Read more
Hand-editing “today” in every mail — you will get the date wrong
The date in a greeting should not depend on memory. Always today uses a date variable, no popup. A day you must pick uses the date picker. Do not invent a special dates group. Read more
Change the signature once — do not paste it ten times
The number changes. You fix four letters and miss six. Shared blocks are one snippet. The body writes %s:abbr%. Real expansion starts in 7.0.0. Team greetings stay a single copy too. Read more
Forgot the abbreviation — type a double slash
Abbreviations are not a memory test. Type // in the field and inline candidates appear. To browse or search bodies, hit the search-window hotkey. ExpandIn does not block either path. Read more
The paragraph you just wrote — keep it
The line that finally landed in a ticket disappears when the window closes. Drag a file onto Home, create from the clipboard, or accept a suggested snippet. Give it an abbreviation before you type it a third time. Read more
Libraries rot in three months — usually these three
Libraries get annoying from collisions and expansions in the wrong app, not from missing features. Prefixes, Expand When, ExpandIn, and pause keep the library usable. Read more
The code abbreviation fired in WeChat — lock the app
log is a template in the IDE and a block of code in WeChat. ExpandIn (Pro) locks a group to listed apps. Free tier does not include it. Read more
Support templates are a form — not ten emails
A desk repeats structure, greeting, identity, reason, next step, signature. Nest the shared blocks. Put names and reasons in FillIn. Do not keep ten emails that differ only by the customer name. Read more
Sales talk is two forms — not twenty check-ins
One follow-up, one objection. Names and next steps are FillIn. Do not keep twenty emails that differ by company, and do not scrape CRM fields. Read more
Hiring talk is two packs — not a quote poster
One pack for candidates, one for hiring managers. Names, roles, and rounds are FillIn. Not a recruiting book list. Not a meme wall. Read more
Brand voice is one nested greeting — not a style PDF
Keep one greeting and one sign-off. Fill the body on expand. Change the greeting and every template that includes it changes. Not another tone manual. Read more
Legal boilerplate is nested blocks — not retyped clauses
Disclaimer, confidentiality, and the privacy pointer are small snippets you nest. The part that changes is FillIn. No HIPAA. No BAA. Privacy language lives on the privacy page. Read more
One post, a channel menu — not a growth hack
Write the message once. Use a menu for the close. Do not clone the body per network. WeChat official-account paste is a different renderer. Do not claim expand equals a finished post. Read more
A prompt you tuned for weeks — gone in the next window
Prompt engineering has two phases. Most people only do the first. The second is deployment. A stable draft becomes an abbreviation, variables are FillIn, the same shortcut in ChatGPT, Claude, and Cursor. Read more
try/except in Slack — the abbreviation had no ExpandIn
Developers repeat boilerplate, not algorithms. try wrappers, license headers, stock PR text become abbreviations, caret on the logic. Lock the code group to the IDE with ExpandIn. Read more
A plugin is not a second table — it is a snippet
A date picker, a timestamp tool, a JSON formatter do not need a second product. A plugin is a snippet with plugin_mode, shared by the hub, the dev window, and the search-window Plugin tab. Read more
The agent talks over local MCP — you still type abbreviations
Cursor or Claude Desktop can look up snippets, capture, and insert through MCP on this machine. You still type abbreviations in any field. The server binds 127.0.0.1 only. This is not a chatbot product. Read more
Slack pasted the HTML source — rich text hit a plain field
A styled link that looks right in mail will be stripped in a plain composer, and some apps paste the tags as text. Choose rich or plain from the destination, not from how the editor looks. Read more
Capture, annotate, OCR — stop switching four apps
Text expansion removes retyping. Capture, OCR, GIF, and clipboard history remove app-switching. Region capture opens the editor. Arrows and mosaic, then copy. Free tier has caps and a watermark. Read more
Record the click path — fifteen seconds, not a movie
If the click path will not fit in a sentence, record a GIF. Hotkey or tray starts it. Free is 15 seconds with a watermark; Pro drops both limits. Not a video suite. Read more
git log ate the stack — the history is still there
The next command overwrites the traceback you just copied. The clipboard history window (Pro) keeps recent copies and pastes one back into focus. That is not system-wide expand. Read more
A share pack is not a wiki — and not a marketplace
Right-click a group into a pack or a deep link. The other person confirms, then it writes into their local library. Not a live shared group. Not a public catalog. Read more
Sync is a copy — off by default
Expansion authority is this computer. Official cloud is an extra readable copy, and the switch stays off. A permanent key does not grant cloud. Use your own Gist, WebDAV, or a local backup instead. Read more
Team copy — not another cloud notebook
Move a reply group into the organization and coworkers expand it after sync. Edit on the web. Personal libraries stay invisible unless you share. No full-text audit stream, no public marketplace. Read more
Review your hands — not a company dashboard
There is no company DAU chart. Expand counts, top snippets, and full-text search live on this computer. Do not turn an estimate into hours saved for a slide. Read more
The same loop on Windows — not a second product
Abbreviations, the trigger key, and search are the same work on Windows and macOS. The clipboard window behaves like Win+V: call it, pick a row, paste back into the app that had focus. Read more
Leave TextExpander — bring the library, not the brochure
Import .textexpander or official CSV. FillIn and nesting map. JavaScript snippets do not run after import. No browser extension, no HIPAA product surface, no public marketplace. Read more
Text expansion is not per-seat per-month — buyout or yearly
Free already expands. Lifetime is a one-time buyout without official cloud. Personal yearly is a second computer and the web library. Team seats are shared groups. Signing in or pasting a key never turns sync on by itself. Read more