11
17 Comments

I built a browser extension for the thing that was eating my day

The most time-consuming part of my work isn't the hard stuff. It's retyping the same sentences.

When I write product listings, it's the same phrases over and over — "Durable and lightweight, perfect for daily use." When I answer support emails, half the sentences are identical: apologies, shipping delays, return policies.

I started with a text file and copy-paste. Then OS-level snippets — but they fall apart the moment I switch languages, and I work across English, Japanese and Chinese every day.

I tried TextExpander and Magical. Both are powerful. Both are subscriptions starting around $10/month. I just wanted something dumb and simple: no account, no cloud sync, no update popups. Pay once.

Couldn't find it, so I built it. A browser extension — type a short code you define, hit space, it expands into full text. Works in any input field on any site. Fully local, nothing leaves your machine.

Free tier holds 5 shortcuts. Pro is $9.90 one-time. It's on the Edge add-ons store: https://microsoftedge.microsoft.com/addons/detail/jfhfkebcjclljnbphhbpihcohnpobloa

I'm not here to sell you anything though. I want to ask: how do you handle repetitive typing? Am I missing some obvious tool that everyone else is already using?

on September 28, 2026
  1. 1

    Have you looked at whether the extension could also go on the Chrome Web Store? I'm not sure how the two stores work, but if Chrome users can't install from Edge's add-on store, that might be a lot of strangers you're not reaching yet.

    You said everyone who tried it wanted expansion without an account. Do you know yet whether strangers care about that too?

  2. 1

    For truly repetitive work, snippets are hard to beat. The gap is the in-between stuff, where the wording is similar but not quite the same. Think of a support reply that needs one sentence tailored to the customer. I built DictaFlow for that kind of work. Hold a hotkey, say what you mean, and clean up the transcript instead of typing the whole thing again. Your local-first, one-time-purchase approach makes sense for people who mostly want predictable expansions.

  3. 1

    Honestly, I think the “simple and local” angle is what makes this interesting. A lot of productivity tools keep adding accounts, cloud sync, integrations, and subscriptions when the actual problem is just expanding a few repetitive phrases.
    I also like that you considered multilingual workflows. One thing I'd be curious about is how you handle shortcuts across different keyboard layouts and languages. If it stays reliable without adding complexity, that could be a pretty compelling advantage over heavier text-expansion tools.

    1. 1

      Good question, and the honest answer today is "partially". Expansion output is plain text, so any layout works — but the trigger itself needs a full-width normalization pass, otherwise a Chinese IME's ;; never matches the ;; you actually typed. That one I had to fix specifically. Other layouts I haven't tested — if you use a non-US layout I'd genuinely like to know where it breaks.

      1. 1

        “That’s actually a useful edge case to catch. Full-width vs half-width punctuation is the kind of thing that works perfectly in testing and then breaks the moment someone uses a different IME or keyboard layout.
        I’d be curious whether you’re planning to normalize other common input variations too, or keep it intentionally limited to the trigger characters for now.

  4. 1

    Nice — building for a problem that was eating your own day is exactly why I made my camera app. Did you get your first users from the communities you personally belong to?

    1. 1

      Not yet — no users at all so far, which is the honest reason this post exists. The only people who've installed it are people I know. That's the part I'm worst at. How did you get the first strangers onto your camera app? That's the exact wall I'm stuck on.

      1. 1

        Honestly, we're at the same wall — launch day today and the first strangers are trickling in one by one. What felt least spammy so far: going to the exact subreddit where people complain about the chore my app removes, and describing the fix plainly instead of pitching. If a mod approves, those few installs mean more than any number from a broad post. Keep going — the zero-to-one step is the slowest.

  5. 1

    The local-first approach is what caught my attention. A lot of productivity tools seem to add accounts, syncing, subscriptions, and extra features when the core problem is actually very simple. Keeping the workflow fast and offline makes a lot of sense, especially for repetitive support and product-description work.

  6. 1

    Solving multilingual expansion without relying on OS-level snippets or cloud subscriptions is a fantastic sweet spot. The friction of constant language-switching is real.

    Also, as Luca mentioned, adding a simple local JSON import/export early on will give users peace of mind without compromising the local-first philosophy. Great build!

  7. 1

    Most founders building alongside a day job focus entirely on non-compete clauses, but corporate legal teams usually catch engineers through environment configuration leaks, not contract disputes: Global Git Email Stamping: If you don't use directory-scoped configs (⁠[includeIf]⁠), ⁠git⁠ defaults to your global ⁠.gitconfig⁠. Committing to a personal repo with a work email header gives enterprise legal instant ownership grounds. Shared Router DNS Traffic: Working on a personal side-project while connected to enterprise VPN/Zscaler routes your dev traffic straight through corporate log collectors. EDR Process Isolation: Enterprise agents (CrowdStrike, SentinelOne) log local ⁠npm⁠ installs and CLI commands on monitored networks. I put together a step-by-step air-gap checklist and template config on my profile if you want to inspect your own setup.

  8. 1

    Have early users shown that the local, one-time model is what makes them switch, or is the main pull simply having text expansion without the complexity of bigger tools?

    1. 1

      Honest answer: I don't have paying users yet. Zero sales so far. So I can't tell you which reason wins — that's exactly what I'm trying to find out. What I can say is that everyone who's tried it so far said the same thing unprompted: they wanted expansion without an account. Small sample, take it with salt.

      1. 1

        That’s a useful early signal, especially since it’s coming up unprompted. If you’re open to it, what’s the best email to reach you on?

  9. 1

    Relatable. Support is where this hurts most. The other half of the fix is on the intake side: if the contact form asks the right questions up front (order number, what happened), a lot of those repeated "can you send me X?" replies disappear. That's what we work on at chatform.in (I work on it). Nice build, multilingual snippets without an account is a real gap.

  10. 1

    The local-first, one-time-price positioning is strong, especially for multilingual users. I’d add simple JSON export/import early—“no cloud” is a benefit until someone changes browsers or devices and worries about losing years of shortcuts.

    1. 1

      That's the second time someone's raised JSON export/import today, which is probably a signal. My hesitation: I promised myself no cloud and no sync, and import/export is the honest way to keep that promise when people switch machines. It's going on the list.