game-mechanics
Daily Challenge Across Devices
Keeping a signed-in player's daily challenge progress consistent across devices via a merge strategy, not an overwrite, plus fixing the races that exposed the need for it.
A Warning for a Word Already Gone
The already-used hint flashed on a word the player could no longer edit, because the check that decided whether to show it never looked at what phase the game was actually in.
Two Numbers, No Explanation
Retiring the claim-or-discard sign-in dialog for an always-silent account sync, moving the destructive "start fresh" action into Settings on its own, and reusing the same-device recap verbatim on a second device.
No email required
Cross-device player accounts arrive via Google sign-in, chosen over a magic link or a sync code, plus the claim-or-discard flow, GDPR deletion, and the review findings that shaped the implementation.
The status that was never written
The stats page showed zero PvP games because its query filtered on a status the PvP service had never actually written, plus a new high score stat and a tab reorder.
The cap that was already gone
A month after the PvP lives system replaced the 40-word duel cap and the single-collision ending, the glossary and architecture docs still described the old rules.
Persisted, but never shown
Daily Challenge players can now replay for a better score, deduped by a token that never leaves the browser. A design review caught the feature quietly failing one of its own stated goals.
Interrupted, not gone
PvP duel players get an advisory signal for a stalled opponent, built on an authentication boundary the old unauthenticated stream design never needed, and a hard line against ever letting that signal decide the game.
A deliberate departure from the mockup
Redesigning PvP invitations and Settings meant deciding, up front, where the request diverged from the just-locked design-system mockup rather than treating the gap as an oversight.
Rematching with the same opponent in real-time PvP
Starting another match against the same opponent previously required sharing a new room link. Token-chained authorization and a six-state UI matrix bring instant same-opponent rematches.