Case study · Our own product
LetterLock: a fairer board, shipped everywhere.
LetterLock is a trivia board game for two teams that we designed, built and run ourselves. It is free to play in any browser and is live on the App Store, Google Play and Android TV.
- 193 question categories
- 42,733 questions, in English and Arabic
- 4 platforms: web, iOS and iPadOS, Android, Android TV
The idea
Many people remember a TV quiz format where contestants claim letters on a board of hexagons by answering questions, trying to build a path across the board. It is a brilliant party format with one structural flaw: the original board gave the two sides paths of different lengths, so one side always had less ground to cover.
LetterLock keeps the fun and fixes the board. It uses the rhombus-shaped grid from the classic connection game Hex. One team connects left to right, the other top to bottom, and both directions cross exactly the same number of hexes. A Hex board has another useful property: it can never end in a draw. However the hexes are shared out, by the time the board is full one team will have connected its edges. Every game has a winner.
How a game works
A team picks a hex. LetterLock serves a question whose answer starts with that hex's letter. A correct answer claims the hex; a miss gives the other team a chance to steal it. Because a hex can only belong to one team, every claim both builds your path and blocks your opponent's, so knowing the answer is only half the game. The other half is choosing where to play. The full rules are in the LetterLock how-to-play guide, and the strategy side is in tips and strategy.
Players choose a 4 × 4, 5 × 5 or 7 × 7 board, a single game or a best of 3 or 5, and an answer timer of 20, 30 or 45 seconds or none at all. In a series the teams swap directions and the board gets fresh letters each game, so no one keeps an advantage from the round before.
What we built
A rules engine we can trust
Win detection is the riskiest code in a game like this: if the game declares the wrong winner, nothing else matters. The rules live in a pure engine with no user interface code in it. Connection checking uses a union-find structure, and it is cross-checked in tests against a slower, obviously-correct flood-fill, plus randomised tests over large numbers of generated games. Every move is recorded as an event in an append-only log, which is what makes undo, resuming a saved game and online play straightforward: the same events drive every screen.
Play that fits the room
- Couch Mode: one shared screen, a host reads the questions and taps which team answered.
- Party Mode: the host opens a room with a 6-letter code and a QR code, and every player's phone becomes their controller and buzzer while the board stays on the big screen.
- TV: the Android TV app is fully playable with a remote's arrow keys, including an on-screen pad for typing room codes.
Content at scale, checked properly
Every question is written so its answer starts with a specific letter, which is what lets any hex serve a question. There are now 193 categories and 42,733 questions, from a Kids and Family pack to a Genius tier, plus flags, maps, logos, film, music and charades, and packs written natively in Arabic that play with Arabic letters on the board. Every pack goes through scripted checks for duplicates, wrong first letters and answers that leak into the question, and a separate reviewer fact-checks a sample of every pack before it ships. The complete list is in the LetterLock packs guide.
We learned one lesson here the hard way. Content generated cheaply can pass every automated check and still be factually wrong. We threw that content away and rewrote it, and we now treat automated checks as a floor, never as proof of quality.
Accounts, progress and a backend we run
Players can start as guests with no sign-up. A free account, with sign-in by email code, Google or Apple, adds XP and levels, friends, leaderboards, saved games and a pack editor for writing your own questions. The backend runs on infrastructure we operate ourselves, with automated off-site backups and error monitoring.
Shipping to four platforms from one codebase
LetterLock is one web codebase. The same app runs in the browser and inside native shells for iOS, Android and Android TV, and game updates reach installed apps over the air without a new store release. Native changes still go through store review, and we have now been through App Store review, Google Play review and Android TV review with the same product.
Before anything ships, a continuous integration gate runs type checks, unit and content tests, an end-to-end browser suite, and a layout check across a matrix of phones, tablets, laptops and TVs to make sure no screen ever needs scrolling or clips a control. A deploy only goes out once that gate is green.
What it taught us, and why it matters for clients
- Test the riskiest logic first. We wrote the win detection test-first and cross-checked it before building any screens.
- Production is more than the code. Store accounts, signing keys, privacy policies, account deletion, backups and monitoring are all part of shipping.
- One codebase can go a long way. A well-structured web app can reach phones, tablets and TVs without four separate builds to maintain.
- Quality checks have to match the risk. Scripts catch mechanical mistakes. Facts need a careful human-grade review.
Every one of those lessons goes straight into the apps we build for clients.
Play it
Play LetterLock free in your browser, or search for "LetterLock: Hex Trivia" on the App Store and Google Play. Guides: How to play · Tips · Packs · FAQ · About.
We also wrote up the board maths in Designing a fair game board: the maths behind LetterLock's hex grid.