You know the feeling. It's 11:40pm, you're already in bed, and your phone buzzes: a cartoon animal is disappointed in you. Your 200-day streak is about to die. Quick — open the app, do the thing, prove your devotion, or lose everything you've built. So you drag yourself back up and tap through something joylessly, resentfully, just to stop the nagging.
That isn't engagement. That's a hostage situation with a friendly mascot. And I was determined GridJoy would never, ever do it.
THE STREAK IS A DARK PATTERN WEARING A SMILE
Streaks work because of loss aversion — we hate losing a thing far more than we enjoy gaining it. Most apps know this and lean on it hard: the bigger your streak, the more terrified you are to break it, the more they can poke you with guilt and escalating notifications. The number stops being a reward for you and becomes a leash for them.
I get why it's tempting — it genuinely juices the numbers. But it turns a calm puzzle into a chore you're scared to skip, and that is the precise opposite of what GridJoy is for. A streak should make you feel good about the days you did show up. It should never punish you for one you didn't.
SO I GAVE IT A FREEZE
Life happens. You get the flu, you fly somewhere, you just forget — and a 90-day run shouldn't evaporate because of one rough Tuesday. So in GridJoy, when you miss a day, your streak doesn't just snap. You get a freeze: a quiet little “don't worry, I've got you” that keeps the run alive while you catch your breath.
No panic, no shaming red number, no “you've LOST it.” Just a gentle prompt that says the streak is safe and you can carry on when you're ready. The whole point is to take the fear out of the number — because a streak you're frightened of isn't fun, it's homework.
AND IF YOU VANISH FOR A WHILE — WELCOME BACK
What about a proper absence? You disappear for a few days, you come back, and most apps greet you with a tombstone: streak gone, start again from one, hope you enjoyed your little holiday. That sour welcome is exactly the moment a lot of people delete the app for good.
GridJoy does something kinder. Come back after a longer gap and the ghost doesn't scold you — it says welcome back and offers to restore the run you'd built. Grace, not a guilt trip. The streak was always meant to celebrate the habit, so punishing the one time life got in the way would defeat the entire purpose.
ONE NUDGE. THAT'S THE WHOLE LIMIT.
Here's the part I'm fussiest about. If today's puzzle is still unsolved, the ghost will give you one gentle reminder in the evening — and because GridJoy doesn't do words, it's not even a sentence. Just a tiny wordless ghost with a couple of emoji. Then it goes quiet. No second buzz, no third, no escalating passive-aggression at midnight.
One little tap on the shoulder, then silence — that's the deal. If you fancy a puzzle, lovely. If not, the ghost isn't going to stand outside your window all night. A companion reminds you once because it thinks you'd enjoy it; a nag reminds you five times because it needs your retention metric. I know which one I want GridJoy to be.
A STREAK SHOULD BE A PAT ON THE BACK
Strip it all back and the rule is simple: the streak exists for you, not for me. It's there to say “nice, you keep coming back, that's a lovely little habit” — a pat on the back from a friendly ghost, not a debt you owe a company. So it forgives the odd day, welcomes you home after a long one, and only ever taps you once.
Go build one, then — gently, on your own terms. Today's puzzle is right here, and if you miss tomorrow, honestly, it's grand. The ghost will still be pleased to see you. Want the calmer case for the daily habit itself? I wrote that one up too.
— the (won't-guilt-trip-you) dev behind GridJoy 👻