Add an opponent
The earliest version had players chaining words against themselves. Adding a computer opponent created turn-taking, unpredictability, and a clearer sense of competition.
I built Last Word Standing to get hands-on with AI-assisted development and Reddit Devvit. What started as a simple word game became a larger product exercise in designing the system around the game, shipping it to real players, measuring behavior, and iterating on what I learned.
Solo Product Builder
2-week build + weekend iteration
Reddit Devvit, Figma, Codex, GitHub Copilot
Experiment
I deliberately started with a simple word game rather than complicated mechanics. Last Word Standing adapts Shiritori, a Japanese game where each player begins a word with the final character or sound of the previous word. I brought that chain into English and added a seven-second timer to create pressure. The goal was the smallest complete version I could play and ship.
Game system
The word-chain mechanic was simple. Building an experience around it required a larger system that made the game playable, understandable, competitive, and worth repeating.
The earliest version had players chaining words against themselves. Adding a computer opponent created turn-taking, unpredictability, and a clearer sense of competition.
The desktop prototype left room for typing, but on mobile the native keyboard pushed the game upward and made the timer and other important information harder to see. I replaced it with a compact custom keyboard so the active word, input, and timer remained visible during play.
Scoring, bonuses, and the leaderboard gave players a way to compare runs instead of simply continuing a word chain.
Post-specific rules and starting words created variation between games without complicating the core mechanic.
A broad dictionary worked well for validating player words but produced strange computer responses. I separated player validation from computer vocabulary so the opponent could use a smaller set of familiar words.
I added lightweight gameplay analytics because Reddit post views could not show how people were interacting with the game.
Real play
Example production post
3.3 seconds
Average submission time in one production post.
Getting players to try the game was easier than getting them to come back. Repeat engagement became the more important product challenge.
Product iteration
After returning to the project, I simplified both entry into the game and active play. The Home screen explained the mechanic more quickly, while the Gameplay screen made the next action clearer.
Connect the current word, required letter, input, and timer so the next action reads as one continuous interaction.
Keep the required starting letter visually connected to the response without prefilling it or changing what the player is being asked to do.
Make score, placement, and personal-best feedback easier to understand so the end of a run communicates how the player performed.
Measurement
The first analytics helped me understand activity, but they were not designed well enough to measure retention. Opens were not unique users, play starts included replays, and words per player combined run depth with replay behavior.
Understanding repeat engagement requires distinguishing unique players, runs per player, words per run, replay rate, and return behavior.
Outcome
The core word-chain idea was simple. Making it into a game required the full experience around it, including opponent behavior, mobile interaction, scoring, competition, variation, feedback, and measurement.
Real players answered the first question. People could understand and play the game. That exposed the harder question of what would make them replay and return without relying on a feedback post to bring them in.
Before adding more progression or reward mechanics, I need better visibility into replay and return behavior so I can test engagement changes against a meaningful baseline.
I plan to keep gathering real-play data, improve the analytics around repeat behavior, and use that evidence to test stronger re-engagement hooks.