malahov.io

The Only Metric That's Growing

I sat down to look at a dormant product: Supabase at 35 dollars a month, 75% of tokens going to free traffic, zero payback — and a hundred new users a month from organic growth. Deciding what to do with it.

Call Copilot series · part 13 of 20Try the product →

By Georg Malahov

I barely touch Call Copilot these days. No new features, no commits, my head is in another project. And this week I sat down to see what's actually going on there without me — not out of nostalgia, but because the bills arrive every month whether I open the repository or not.

Here's the picture: Supabase — around 35 dollars a month, plus Hetzner, plus tokens for speech recognition. 75% of all tokens go to free and anonymous traffic — that is, to people who never even created an account; in May the same three quarters of a hundred-and-eighty-dollar bill went the same way. And the few paying users there are don't cover anything at all. The product is still 100% subsidized and fully unprofitable. For a long time I kept telling myself: "there are no users anyway, why think about it, I'll deal with it later." The users showed up — and it became clear that some of them are simply abusing the free mode.

And yet there is exactly one metric that's consistently positive: users keep arriving, month after month. Roughly a hundred new ones a month, organically, from the Chrome Store. No ads, no posts, no me. As long as I haven't switched anything off or ruined it with my registrations and limits — people just find the extension in the store and install it.

Weekly extension audience from launch to the end of June — Chrome Web Store data.

Logic says shut it down: unprofitable, not growing in money terms, eating up attention. But a hundred people a month isn't zero — it's a channel. So I decided not to shut it down, but to try routing those people to my hub: let them land there, and from the hub find their way to my other products. The extension as a traffic source, not as a business in itself.

A failure I won't repeat: paid ads targeting India. It's cheap there and the temptation is big, but I've already burned myself on that with Call Copilot specifically — and I won't buy that traffic for the new project. An older and deeper failure: I took far too long to decide who this product is even for and what its use case is. I wanted to do everything at once. There were plenty of experiments — paying users, free users, many pricing plans, few plans, different versions of the store listing — but clarity about the audience never arrived.

While I was at it, I researched the neighbors in the store. There are extensions that shoot into the top within days and slide right back down just as fast: retention is so low that people install quickly and uninstall quickly. So the install number by itself means nothing — and there's no reason to celebrate my hundred a month as an achievement.

I've also caught myself sobering up a little from this experience. There was once a very pleasant time with Call Copilot: I could hand the link to anyone — they would open it, read the description and could try the product straight away. That in itself is a pleasure. Now I look at the same numbers and understand a simple thing — everything I build will be pointless without users, but users who pay nothing don't save me either. The extension and the store should be used precisely as a traffic source: make attractive listings, actually give away some real free value, because people flat-out expect everything to be free — and only then figure out where the money starts.

Whether this is the right decision, those same hundred people a month will show: if a noticeable share of them starts making it to the hub, and from there to a second product, then Call Copilot is worth keeping switched on as an inflow channel. If nobody makes it, then I'm paying 35 dollars a month for a pretty chart in the console, and it's simpler to switch it off and stop lying to myself. The second conclusion I've already drawn: the next product has to be built from the start so that it at least somewhat pays for itself, instead of me subsidizing it out of my own pocket forever.

For now, the only place where anything of mine grows on its own is the product I'm not working on.