When I published the Sentiment Heist post in April, I ended it with something like: I’m seriously considering spinning this into a standalone browser game, I just need to close the LinkedIn tab first.
That was April 16. It’s May 16.
The game doesn’t exist.
I had a working demo by then. The mechanic was real. Give DistilBERT a sentence it hates, try to flip its confidence score to positive by changing as few words as possible. Drop “masterpiece” into a brutal review and watch the math collapse. I called it fun. I wasn’t wrong. That post was one of the more honest things I’d written about what browser-native ML actually does in practice.
But a working demo and a shippable game are two different things, and the gap between them is almost entirely the part nobody writes about.
The game needs a corpus. Not “type whatever you want and try to flip it,” because players will either game the input or produce incoherent fragments that score at random. You need pre-vetted starting sentences. Unambiguously negative to DistilBERT, interesting enough to be a real puzzle, not offensive enough to put on a public site. If I want a daily puzzle mode, that’s 365 sentences minimum. Probably more, for rotation and freshness.
That’s a spreadsheet. A long one.
And the work of building it is nothing like the work of discovering the mechanic. The mechanic was genuinely fun to find. I ran experiments, hit edge cases, figured out that the model anchors so hard on certain adjectives that you can override a paragraph of complaints with one good word. That’s a story worth 600 words.
Curating 365 puzzle sentences is not a story. It’s writing bad reviews from scratch (can’t lift real ones for IP reasons), testing each against the model, rating their negativity, and checking that the sentence is still readable as human text after a few substitutions. No discovery moment. No twist. Just work until there’s enough of it.
Here’s what I’ve noticed about that pattern: writing about a project delivers most of the reward before the project is done. The Sentiment Heist post went up, the lab link got clicks, I had something to point at. The game’s existence was implied by the post. And the dopamine of shipping a good concept post made it much easier to move on to the next thing with a good story attached, which was the handwriting font matcher, which also had a compelling bug.
If you can write a post about an idea, you’ve probably done the interesting 20 percent. The other 80 is infrastructure. The corpus. Scoring calibration. Whether the leaderboard lives in localStorage or needs a real backend. Edge case handling for inputs that aren’t actually sentences. None of that is a blog post. All of it is required.
Don’t get me wrong, writing the concept post wasn’t wrong. It sharpened the idea. I figured out what I was actually building by describing it out loud. The mechanic held up under description, which is a real test. Some ideas fall apart when you try to explain them. This one didn’t.
But explaining a game and building a game are different acts, and for a month I used one to defer the other.
Start with the spreadsheet you don’t want to make. If you won’t do that part, you don’t want to ship the game. You want to have written about the game. Which is fine, but they’re not the same thing, and you should know which one you’re actually doing.