Case Study
WordGrid

Overview
WordGrid is a daily, time-boxed word game where players build as many valid words as they can from a shared 4×4 letter grid in 3 minutes, earning points via Scrabble-style letter values plus length multipliers. It’s designed to be quick, competitive, and repeatable as a daily ritual, with features like a daily leaderboard, private leagues, and a personal stats dashboard.
The Problem
I wanted to build a daily word game that feels genuinely competitive, but still quick and friendly enough to become a routine. Lots of word puzzles are either purely solo, too slow, or hard to compare fairly with mates. The core problem was: how do you create a fast, skill-based word game that everyone can play on the same terms each day, then instantly compare results in a way that feels fun, not stressful?
I also wanted it to be approachable for casual players, while still offering depth for people who love optimisation, big words, and chasing high scores.
Constraints
• Solo build: I was designing, building, testing, and iterating myself, so I had to keep the scope tight and ship in sensible chunks.
• Mobile-first reality: the game needed to feel great on a phone, not like a desktop site squeezed down.
• Speed and clarity: a timed game can become frustrating fast if the UI is even slightly confusing or slow. Every interaction had to be obvious and responsive.
• Word validation: I needed dictionary validation that felt fair and consistent, including UK spelling expectations, without turning the experience into “arguing with the dictionary”.
• Fair competition: if the daily puzzle is shared, it must be dependable, consistent, and not easily gamed.
• Retention without nagging: I wanted a “come back tomorrow” pull through design, not pushy prompts or dark patterns.
Approach
I treated WordGrid as a small product, not just a game UI.
1. Define the core loop first
One daily grid, 3 minutes, find words, score, compare, repeat tomorrow. Everything else had to support that loop.
2. Prototype the interaction model
I focused on how you actually input and submit words at speed, especially on mobile. I prioritised clear states, fast feedback, and zero confusion.
3. Design for flow and momentum
I built constant feedback into the experience: timer pressure, validation responses, scoring clarity, and subtle cues that help pattern-spotting.
4. Add social features early
Leaderboards and private leagues were treated as core, not optional extras. If the game is about comparison, the social layer must be solid.
5. Iterate with real players
I ran lightweight testing with friends and regular players, paying attention to where they hesitated, what they complained about, and what made them come back the next day.
Solution
I built WordGrid.app, a daily competitive word puzzle with a simple format and strategic scoring:
• Daily shared 4×4 grid, so everyone plays the same challenge each day
• 3-minute timer to keep it snackable, intense, and replayable
• British dictionary validation to keep word acceptance consistent and familiar
• Scrabble-style letter values + word length multipliers, so the scoring rewards skill and strategy, not just typing speed
• Mobile-friendly input, including tapping letters on the grid, designed for quick play
• Public leaderboard for daily competition
• Private leagues with invite codes and roles (Owner/Admin/Member) so groups can run their own mini-competitions
• Player dashboard showing streaks, best score, averages, and “best word” style stats, giving players a sense of progress beyond a single day
• Clear onboarding and How to Play, explaining scoring, leagues, and strategy so new players get the depth without feeling overwhelmed
Outcomes
• Created a daily game that is genuinely quick to pick up, but still has depth for repeat play.
• Players could immediately compare scores fairly because the daily grid is shared, which made the leaderboard feel meaningful.
• Private leagues became the stickiest feature, turning the game into something groups could play together, rather than a solo habit.
• The dashboard and streak mechanics helped reinforce return visits without needing heavy-handed nudges.
• Most importantly, it proved the concept: the best behaviour wasn’t just people playing, it was people sharing scores and talking about it afterwards, which is exactly what I was aiming for.
Reflections
If I was doing it again, I’d improve a few things earlier:
• Analytics from day one: I’d track key behaviours (first game completion, day 2 return, league joins, share attempts) to guide decisions faster.
• Anti-cheat and trust signals: I’d invest earlier in server-side validation, suspicious score detection, and clearer rules around edge cases to keep competition credible.
• Accessibility pass: I’d add a colour-blind friendly mode, stronger contrast checks, and reduced motion options for timer urgency.
• End-of-game insight: I’d explore a “words you missed” style summary, or personal improvement suggestions, as long as it doesn’t encourage dictionary arguments or feel punishing.
• PWA polish: I’d push the “install and play daily” experience harder so it feels like a proper little daily app on mobile.
• Content pipeline: I’d formalise how daily boards are generated and tested, so difficulty stays consistent and players trust the fairness of each day.