Tell real words from decodable nonsense words, then spell by ear
A two-half football match that trains the two halves of literacy: decoding in the first half, spelling in the second.
The first half is a playable version of the Year 1 Phonics Screening Check, the statutory
assessment in English primary schools. In it, children read 40 words, half of them pseudo-words
β made-up but phonically regular strings like fod or shob, presented as alien names. The
point of the nonsense words is that they cannot be recognised by shape or guessed from the first
letter, so they show whether a child is genuinely decoding rather than remembering. This game
puts the same idea on a pitch: real word β shoot at goal, alien word β give it to the alien.
Crucially the app does not read the word out first. Hearing it would turn decoding into listening. It speaks the word after a correct answer as confirmation, and after a wrong one it sounds the word out and brings it back later in the half.
The second half is dictation: the app says a word and the child types it on an on-screen keyboard with no letters supplied β the sequence has to come from memory.
| π₯ | A real word β tap GOAL |
| π½ | A made-up word β tap ALIEN |
Alien words in the pool: fod Β· zat Β· bep Β· vum Β· shob Β· chid Β· thog Β· keeb Β· narp Β· quog Β· sprot Β· dree
Stuck? π Sound it out reads the graphemes β sh-i-p, not s-h-i-p β but never the whole
word. That part stays with the reader.
| π | Listen to the word |
| β¨οΈ | Tap the letters β no tiles, no clues |
| β | Correct letters stay put, the rest clears, try again |
| π» | After two attempts a faint ghost word appears |
| β½ | Spell it and the crowd goes up |
The whistle blows, the goals are counted, and the best score so far is remembered.
- π Β Blending sounds through a whole word instead of guessing from the start
- π§© Β Recognising digraphs (
sh,ch,th,oa,igh) as single sounds - βοΈ Β Producing a spelling from memory, not from a choice of tiles
- The keyboard is in ABC order by default β a five-year-old hunts through the alphabet, not a QWERTY layout. A setting switches it.
- A missed word is pushed back into the queue so it comes round again, but the queue is capped so the half always ends.
- Grapheme splitting is greedy and digraph-first, which is what makes the sounding-out correct.
| Game | What it is | |
|---|---|---|
| π Jack's Words | Hear a word, build it from letter tiles, then read it in a sentence | βΆ play |
| π₯ Jack's Match | Tell real words from decodable nonsense words, then spell by ear | βΆ play π this one |
| βοΈ Jack's Letters | Finger-trace all 26 lowercase letters in the correct stroke order | βΆ play |
| π’ Jack's Numbers | Count, add and subtract with footballs β to 10, then to 20 | βΆ play |
| π― Jack's Big Numbers | Tens and ones, adding and taking away all the way to 100 | βΆ play |
| π Jack's Apples | Trace 1β20, then fill the missing numbers into the apple grid | βΆ play |
| π Jack's Sight Words | The twenty most common English words on big cards β tap one and hear it read out | βΆ play |
| βοΈ Jackies Schach | Full FIDE rules with a coach that marks the safe squares (German) | βΆ play |
All eight on one start page: jackbenn.ing
Every game in this organisation is one self-contained index.html β no build step, no
framework, no package manager, no analytics, and no network calls once the page has loaded.
That is a deliberate constraint: a game a child depends on should still work in five years,
and a parent should be able to read the whole thing in one sitting.
- Speech β the browser's Web Speech API, preferring a British English voice. It always waits for a tap first, because Chrome and iOS block audio without user activation.
- Progress β kept in
localStorageon the device. Nothing is collected, sent or stored anywhere else. - Made for an iPad mini in either orientation: finger-sized targets, no hover-only
interactions,
prefers-reduced-motionrespected.
Run it locally:
python3 -m http.server 8000The start page at jackbenn.ing is built from
google814/Jack, which is the source of truth. The repos
in this organisation are copies kept in step by tools/sync-game-repos.sh in that repo, so
each game also has its own page and its own link.

