← All posts

There is exactly one way to earn a point, and it is not posting

Gamification in community software usually arrives as a bundle: points for posting, points for commenting, points for logging in, streaks, badges, quests, a shop. It is genuinely fun to build. It is also, in a community you charge money for, one of the fastest ways to make the feed worse.

Because whatever you award points for is what you will get. Award points for posting and you get posts. Not good posts — posts. You have paid people, in status, to add volume to the one thing your members' attention is scarcest for.

So Klaas has one rule.

The rule

Another member likes your post or your comment. You get one point.

That is it. There is no other way to earn a point. Not posting, not commenting, not logging in, not completing a course, not showing up to an event, not inviting a friend.

Three properties fall out of it, and each one is doing work:

It cannot be farmed alone. Every point requires another person to have decided your contribution was worth something. You can post fifty times today and score zero. The only strategy the system rewards is being useful to somebody.

It is revocable. If the like is withdrawn, the point goes with it. Points are a live count of appreciation you currently hold, not a lifetime tally of things you once did. This makes the number smaller and it makes it mean something.

It is scoped to one community. Your standing in one Klaas community says nothing about your standing in another. There is no platform-wide score to optimise, and no incentive to farm reputation in an easy room to spend in a hard one.

The curve doubles, forever

Level 1 is 0 points. Level 2 costs 5. Every level after that costs double the last:

Level 1 2 3 4 5 6 7 8
Points 0 5 10 20 40 80 160 320

The early levels come fast on purpose. Five points is roughly one good comment, and getting to level 2 in your first week is the entire point of the first week. After that it gets hard quickly, which is also the point: a level should say something about how long you have been genuinely useful here, not how many days you have been a member.

There is a cap at level 30, and it is not a game rule — it is a guard. Level 30 needs about 1.3 billion points. It exists so that a corrupted number cannot spin a loop, not because we expect anyone to approach it.

One implementation detail I like, for the two people who will enjoy it: the thresholds are computed by repeated doubling rather than with Math.pow or log2. Floating point being what it is, log2(20)/log2(2) can return 1.9999999999999998, which silently puts a member one level below where they should be. It is a nice example of a bug that never errors and that nobody reports, because the member has no idea what level they were supposed to be.

The same module is read by the leaderboard, by the level badge on a profile, and by the "how points work" page — so the published explanation is generated from the rule rather than typed alongside it. A FAQ that can drift from the behaviour it describes is worse than no FAQ.

What we did not ship

Where members see it

A level pill on profiles. A leaderboard tab showing the ranked list plus "You're ranked #N of M with X points." And a plain-language page explaining the rule.

That last one matters more than it looks. Points nobody understands are not motivating, they are irritating — a number that goes up for reasons you cannot predict is closer to weather than to a score. If your community's scoring rule cannot be explained in one sentence, it will not change anyone's behaviour in the direction you intended.

Ours is one sentence: someone else liked what you wrote.

The honest caveat

This design is deliberately weak at one thing, and if that thing is your priority you should turn the leaderboard off in your menu settings.

It does not reward lurker-to-participant conversion. A member who reads everything, attends every call and never posts scores zero forever. A points system that rewarded attendance or completion would give that person something. Ours gives them nothing.

We chose that because the alternative rewards volume, and in a paid community the cost of volume is borne by every member who has to read it. But it is a real trade, and I would rather write it down than pretend the design has no downside.

Community gamification with one scoring rule