← DevLog

3 min read

Gunnie's Gambit sounded like a cheating tool. The code was fine, the words were not.

No feature in the chess app helps anyone cheat. Its Analyse texts still described a live game being relayed through it. What they said, what they say now, and why interface copy is a product decision.

Gunnie's Gambit has an Analyse mode. You set up any position, enter moves for both sides, and the engine shows the best move. That is how you study a game you lost, or a position from a book. It is also exactly what someone cheating in an online game would want.

The app has had a fair-play rule from the first day. It is for practice, for games against the computer and for reviewing finished games. It has no way to read moves from another site, and it will not get one. The FAQ says plainly that engine help in a game against a human gets accounts banned on Chess.com and Lichess.

None of that was wrong. The texts in Analyse were.

What the screen said

Read as a list, these were the Analyse texts:

  • "Your opponent is to move. Enter their move."

  • "Play the suggestion"

  • "Opponent's strongest reply"

  • A button labelled "They played this"

Each one makes sense on its own. Together they describe a workflow: someone is playing you somewhere else, you type in their move, and the app tells you what to play back. No feature did that on purpose. The words did it anyway.

What it says now

Analyse is neutral position analysis, so it now talks about the position and not about people.

  • The status line names the side to move: "White to move".

  • The engine line says "Best move for White" or "Best move for Black".

  • The button always reads "Play it".

  • A mate names the winning colour.

  • A review started from Analyse says White and Black in its move texts, its title and its summary.

Play mode keeps "You" and "The computer". There your opponent really is the app, and the words describe that correctly.

The change itself was small. An end-to-end test now checks the neutral wording, so a later change cannot quietly bring "your opponent" back.

Why the words matter

Nobody reads a feature list. People read the screen, and the screen tells them what the product is for. If the copy describes relaying a live game, that is what the app is for, as far as a visitor can tell.

The same goes for the systems that judge a product without using it. Search engines and AI assistants describe a page by what it says. A chess site that reads like a cheating aid is one that a platform would be right to block.

Check yours

Take the texts of one screen in your shop or app, the checkout or the account page, and read them as a list without the layout around them. What do they describe? Is that what you meant? Copy written one label at a time rarely gets read as a whole, and the whole is what your customers see.

Try it at chess.gunnie.nl. The commits are at github.com/gunnie-agency/gunnies-gambit.