Skip to content

Case Study

WordGrid

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:

  • A daily shared 4×4 grid, so everyone plays the same challenge each day
  • A 3-minute timer to keep it snackable, intense, and replayable
  • British dictionary validation to keep word acceptance consistent and familiar
  • Scrabble-style letter values plus 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
  • A public leaderboard for daily competition
  • Private leagues with invite codes and roles (Owner, Admin, Member) so groups can run their own mini-competitions
  • A 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 a How to Play guide, explaining scoring, leagues, and strategy so new players get the depth without feeling overwhelmed

Outcomes

These are observations from testing and from watching regular players, not measured results. I didn't have analytics in place (see Reflections).

  • It's a daily game that is genuinely quick to pick up, but still has depth for repeat play.
  • Because the daily grid is shared, players could compare scores fairly straight away, which made the leaderboard feel meaningful.
  • Private leagues looked like the stickiest feature, turning the game into something groups played together rather than a solo habit.
  • The dashboard and streaks appeared to encourage return visits without heavy-handed nudges.
  • Most importantly, it proved the concept: the behaviour I saw most wasn't just people playing, it was people sharing scores and talking about them afterwards, which is exactly what I was aiming for.

Reflections

If I were doing it again, I'd improve a few things earlier:

  • Analytics from day one: I'd track key behaviours (first game completion, day-two return, league joins, share attempts) to guide decisions faster, and to turn the observations above into evidence.
  • 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.