DEV Community

M.Bilal Khan
M.Bilal Khan

Posted on

I built a Chrome extension, got 100 installs, and 90% of users left. Here's what I'm fixing.

Somewhere around install #80, I stopped checking my Chrome Web Store dashboard every day. Not because I'd lost interest — because the number that mattered wasn't installs anymore, it was this one: 10 active users.

Out of 101 people who installed Goat Alert, roughly 20 uninstalled it outright, and most of the rest just... quietly stopped using it. No uninstall, no feedback, no bug report. They just went dark.

That's a rough number to sit with when you built the thing yourself. But it's also the most useful number I have, because it's telling me something installs never could: the idea works well enough to get a "yes," and not well enough to get a "keep."

Here's what I think is actually happening.

Goat Alert does one thing: it notifies you at a random interval, and if you ignore it for 60 seconds, a goat sound plays. That's funny for the first three, maybe five times. Then it becomes exactly what any repetitive notification becomes — noise you've learned to dismiss on reflex, or annoying enough that you just turn the extension off.

I built a joke. I didn't build a habit. Those are different problems, and I only fully understood that after watching my own retention numbers.

What I'm changing:

Snooze, not just dismiss. Right now the only options are "deal with the notification" or "ignore it and get screamed at." There's no middle ground for "not now, but check on me in 5." Adding a snooze button on the notification itself — no popup, no extra click, just an action button.

Rotating messages. Same text every time is a big part of why it becomes background noise so fast. Swapping in a small rotating set of messages so it doesn't read as identical each time.

Streaks and a stats page. This is the one I think matters most. Right now there's zero feedback loop — you either get annoyed or you don't, and nothing sticks around to show you it's working. Adding a simple streak counter and a stats page (times dismissed, times the goat actually screamed, days active) gives people a reason to open the popup that isn't just "turn this off."

A gentler alternative sound. Not everyone wants a goat scream as their daily interruption. Adding a soft chime mode as an option, so the "annoying by design" mechanic still works for people who want persistence without chaos.

None of this requires new permissions, so the update ships silently to everyone already using it — no re-approval prompt, no disruption.

The honest part

I don't know yet if any of this actually fixes retention. It's a reasonable theory based on watching where people seem to drop off, not a guarantee. The only way I'll actually know is by shipping it and watching the same numbers again in a few weeks.

If you've built something small that people install and then abandon, I'd genuinely like to hear what you found — whether it was a UX thing, a "this solved a one-time problem" thing, or something else entirely. Retention on tiny tools feels like an underdiscussed problem compared to how much airtime "getting the first users" gets.

Top comments (0)