DEV Community

Cover image for I almost paid free testers $0.02 a test. The math said $3.36 per campaign, so I invented a currency instead
vmzavas
vmzavas

Posted on

I almost paid free testers $0.02 a test. The math said $3.36 per campaign, so I invented a currency instead

The free side of PeerPlay has been quiet lately. The free tier works like a trade: developers test each other's apps so each one reaches Google's 12 testers for 14 days. The trade has one weakness that I kept staring at. Once your app has its twelve, you have almost no reason to keep testing anybody else's.

My first instinct was the obvious one: pay them. A couple of cents per test, nothing crazy. I sat down with a calculator before building it, which is the only reason this post exists. Twelve testers for fourteen days at $0.02 is $3.36 for one free campaign, and the developer on the other side pays me nothing. My paid tier leaves me somewhere around six to ten dollars of margin per sale, so one subsidised free campaign eats a big part of a sale. Then there is my payout minimum of $5, which at two cents is 250 tests. Almost nobody would ever reach it, so the money would motivate on paper only.

The worse problem is that I cannot check a test. It is thirty seconds of an app being open, and the record of it is written by the tester's own phone. I pay my paid testers by hand because there are only a few of them and I approve each one. Cash for everyone would open a door to anybody who can write a fake log, and I would not know it until the money was gone.

So I looked at what I have that costs me no cash and that people actually want. Developers want testers. Boost puts an app at the top of the discovery list, protects it from being paused for inactivity, and I already sell it. What if testing earns you Boost days? I called the currency PP Coins. You get one for every day you test another developer's free app, up to five a day. You get five more for finishing a 14-day cycle with at least twelve real days, and two when a developer marks your feedback as solved. Thirty coins buy one Boost day for your own app, up to seven Boost days a month. Someone who tests three apps a day earns about ninety coins a month, roughly three Boost days.

The part I spent the most time on is how to stop people farming it. Coins are written only by my server, never by the phone. Each test can earn a coin exactly once, because the record has a fixed identity per app and day. There is a cap of seven coins a week from any single developer's apps, which is aimed at two accounts testing each other over and over. An account has to be a week old before it can spend anything. Coins expire if someone earns nothing for ninety days, so dead accounts cannot pile up a balance, and there is one switch that turns the whole thing off. I can also take coins away from a single user and that stays in their history.

There is also a cost I do not want to hide. Every Boost day paid for with coins is a Boost day nobody bought from me. If coins turn out to be easy to earn, I am giving away the one thing I sell. That is why the monthly limit is seven days and why a day costs thirty coins instead of ten. Both numbers live in a settings page, not in the app, so I can change them within minutes if I see people spending faster than I planned. I would rather adjust a price than announce a rule change to people who already trusted the old one.

I could not fix everything. The log of the test still comes from the phone, so a determined person can invent tests and earn coins. What changed is what they win. It is visibility, not money. The worst case is a free Boost day that I did not intend to give, and I can revoke it.

The people who were already testing had done real work before any of this existed, so I did not want to start them at zero. In the admin panel I can preview and then grant a one-time welcome amount to everyone who completed tests in the last thirty days, capped at ninety coins, which is three Boost days. Nobody has to claim it. It just appears in their profile with a small "Founding Tester" note.

I might be wrong about all of it, and I want to say why. When I went back through my own numbers, the drop I wrote about earlier was mostly bugs I did not catch for two months, not people running out of motivation. Coins cannot fix an app that crashes. So I will treat the next two weeks as a test with one honest measure, which is how many tests happen per day. If that number does not move, the problem is somewhere else and I will go find it.

If you run something with a cold start on two sides, did you use credits that only work inside your product, or real money? And did the credits ever inflate on you?

Top comments (0)