· 4 MIN READ

Why GridJoy never rolls the dice

Every programming language has a button marked 'give me a random number.' GridJoy never presses it — not once. Here's why a puzzle app refuses to be random, and the small superpowers you get for free when it does.

Here's a confession that'll mean nothing to most people and raise an eyebrow from the programmers: GridJoy never uses a random number. Anywhere. It's actually a hard rule in the codebase — if I ever typed the usual “give me a random number” command, the project would basically slap my hand.

Which sounds mad for an app whose whole job is conjuring endless fresh puzzles. Surely that's exactly where you want randomness? Turns out: no. Randomness is the enemy. Let me explain.

RANDOM IS A NIGHTMARE TO LIVE WITH

A real random number is gone the instant it's used. And that causes three very real headaches:

  • You can't reproduce anything. If a randomly generated puzzle comes out broken, I've no way to get it back to look at it. It happened once, to one person, and vanished. Try fixing a bug you can never see again.
  • You can't share. If your phone rolled the dice to make your puzzle, there's no way to hand your mate the same one. Their dice roll differently. So much for “bet you can't beat my time on this.”
  • You can't test it. A test that gets a different puzzle every run can't check anything reliably. Randomness and “does this actually work” don't get along.

EVERYTHING COMES FROM A SEED

So instead, every puzzle in GridJoy is built from a seed — just a number. Feed the generator the same seed and it produces the exact same puzzle, every single time, on every phone on Earth. Same number in, same grid out, forever. It's not random; it's reproducible. The variety you see day to day is just me feeding it different seeds — but each one is a fixed, recoverable thing, not a puff of smoke.

That one decision sounds like a boring bit of engineering hygiene. It is. It's also quietly the reason several of the nicest things in the app work at all.

THE SUPERPOWERS YOU ACTUALLY FEEL

  • The daily is the same for everyone. Today's puzzle gets its seed from today's date — so you and a stranger on the other side of the planet are solving the identical grid. That's what makes your time mean something: it's a fair race, same track for all of us.
  • Sharing a puzzle is tiny. Send a friend a challenge and the puzzle itself is never sent — just the seed, a single number. Their phone rebuilds your exact grid from it. The whole “here, try this one” works because the puzzle isn't data to ship around; it's a recipe that regrows from one ingredient.
  • Bugs have an address. If you ever hit a puzzle that feels off, it's got a seed — and that seed lands the identical puzzle on my desk in seconds. No “can you describe what you saw?” A number, and I'm looking at the exact same thing you were.

A NUMBER IS A PUZZLE

That's the whole trick, and I love how unglamorous it is. There's no randomness anywhere in GridJoy — just numbers that unfold into puzzles the same way every time. What looked like a constraint (“you're not allowed to roll the dice”) turned into a superpower: a fair daily, instant sharing, reproducible bugs, all falling out of one stubborn little rule for free.

Fancy the one everyone's on today? Today's daily is right here — same grid as me, same as everyone. Or go pick from all eighteen types; every one's built the same honest way.

— the dev who never rolls the dice, behind GridJoy 👻

PLAY OR READ MORE

RELATED READS

PLAY FOR FREE

18 puzzle types, daily challenges, and a ghost that levels up with you. No login required.

GET GRIDJOY — FREE