Before I wrote a single line of code for the reward system, I knew there were going to be two currencies. It wasn’t something I arrived at after testing or feedback — it was baked into the concept from day one.

Here’s the thinking.

The Problem with a Single Currency

A lot of apps built around motivation and rewards collapse everything into one token. You earn points, you spend points, done. Clean and simple.

But I kept running into a tension I couldn’t resolve with a single system. On one hand, I wanted the app to feel like a real game — with a shop, with cosmetics, with the kind of frivolous-but-fun stuff kids actually get excited about. Skins, avatar customizations, profile titles, themes. The things that let you express who your character is.

On the other hand, I wanted the reward system to connect to real life. Not just in-app trinkets — but actual privileges and experiences that carry weight. Staying up late. Picking dinner. A special outing. The kind of rewards a parent actually uses to motivate their kid.

Those two things don’t belong in the same bucket. Mixing them creates weird tradeoffs — should a kid save up for a new avatar, or cash out for ice cream? That tension would work against both systems.

So I split them.

Coins: The Game Layer

Coins are the in-game currency. You earn them through quests and spend them on things that live inside the app — avatars, class upgrades, titles, UI themes. When you spend coins, the item is yours permanently. It drops into your inventory immediately, no approval needed.

The shop items available for coins are the same for every family. I maintain that catalogue centrally and expand it over time. It’s the layer that makes Path of Progress feel like a game worth playing — the cosmetic, expressive, identity-building side of the experience.

This was important to me because I think the “frivolous” stuff actually isn’t frivolous. A kid who’s proud of how their character looks is more invested in that character. Investment drives engagement. Engagement drives habits. The skins matter.

Gems: The Real-World Layer

Gems are spent on rewards that parents define themselves — real-world experiences and privileges that live outside the app entirely.

Every family’s gem reward list is unique, because every family is different. I can’t know what motivates your kids. You do. So parents build their own list: a late bedtime, a screen-time bonus, a trip to their favourite restaurant, whatever carries real weight in your household. Some rewards can be marked as Rare — limited quantities that create genuine stakes and make earning them feel special.

When a child redeems gems, it creates a request that the parent confirms after fulfilling it in real life. The app handles the bookkeeping; the actual reward happens in the world.

Why Both, Together

The design I kept coming back to was this: coins handle who you are in the game, gems handle what you earn in life.

I want kids to feel the immediate satisfaction of unlocking something cool. And I want them to work toward something real that their parents have put genuine thought into. Both of those things matter. Neither one replaces the other.

Building them as two distinct systems — with different sources, different shops, different redemption flows — keeps that intention clean. Neither currency gets diluted by the other.

That’s the foundation. Everything else in the reward system is built on top of it.