
Naipa works on the underground. It also works on a plane, in a village with no coverage, and with flight mode switched on deliberately. It isn’t a feature we advertise anywhere, but it’s probably the technical decision you notice most without ever seeing it.
All seventy cards in the deck ship inside the app. They aren’t a gallery that downloads: they’re there from the moment you install it, they take up what they take up, and they don’t depend on any server being awake.
A timer can’t wait for anyone
The reason is the clock.
The whole app rests on one very specific promise: a card appears, you have sixty seconds, write the first thing. If there’s a network request between “a card appears” and the first second, that promise breaks in a way that’s hard to repair. Sometimes it takes a hundred milliseconds and nothing happens. Sometimes it takes four seconds with a spinner going round, and by the time you can write you’re no longer in the same mental place: you’ve been given time to think, which is exactly what the timer was there to prevent.
So the phone deals on its own. It picks three cards from the deck it carries, decodes them before starting the countdown, and only then begins to count. By the time you see the 60, all three images are ready. Nothing is pending.
The server doesn’t deal, it only receives
The nice consequence is that the backend stops running the game. It doesn’t decide which cards you get, it doesn’t hold any artwork, and it knows nothing about your day until the day has already happened. It receives finished days.
A card, when it finally travels, is two facts: which card it was and what position it came up in. Nothing else.
That changes what happens when things go wrong, too. Lose signal mid-turn and you don’t lose the turn: what you write is stored on the device and goes up when it can. Close the app with two cards answered and the missing ones are waiting for you, in order. The day is neither lost nor split.
The day is your day
There’s a small detail that only shows up if you think about it at night.
Naipa’s “day” is your phone’s local date, and it’s captured once, when the cards are dealt. Start at 23:58 and finish at 00:03 and it’s still the same turn on the same day. It doesn’t split in two, and it doesn’t punish you for taking a while. Midnight is an accident of the calendar, not an event in the game.
It’s the kind of decision nobody thanks you for, because nobody sees it. You’d only notice if it were wrong.
What this isn’t
Worth being precise: a local turn doesn’t mean what you write stays on your phone forever. Answers do sync, because the weekly summary has to read them to group the themes. What stays on your device is the game: the deck, the deal, the cycle, today’s state.
The distinction matters. A game that depends on the server and data that reaches the server are two different things, and only one of them strands you in a tunnel.
