Spec Driven Development with My 8-Year-Old | Edmund Lam Edmund Lam
Montreal, Canada<br>Staff software developer focused on backend services, AI-powered features, and cloud architecture.
Go back to posts<br>Spec Driven Development with My 8-Year-Old
July 2026
Edmund Lam
#Programming<br>#Parenting<br>#Kids<br>#Typing<br>My 8-year-old daughter has started to get interested in typing. Most typing games online are either built for adults,<br>require sign-ups, or stress kids out with countdown timers and lives.
So I decided to see if we could create our own game together, with exactly what my daughter would want. We chose a<br>theme together (picking flowers), and then I asked her to write down all the details of the game on a<br>piece of paper. Here was the result:
Pretty nice spec! So it looks like she wants a game where you pick flowers, and when you pick enough flowers you go to<br>the next level. Each level adds more keys, and for some reason she doesn’t want to learn all the keys (that’s<br>ok!).
Refinement
We took a photo of her note and had Claude transcribe it into a working markdown document, then went through it together<br>to fill in the gaps she hadn’t thought about yet. A few of the questions I asked, and what came back:
“How many flowers do you need to pick to get three stars?” → 5 flowers for one star, 10 for two, 15 for three.
“How do you get to the next level?” → Only after hitting 3 stars in the current one.
“Is it just one letter per flower?” → Level 1 is one letter, but then it scales up - two letters by level 3, three by<br>level 5.
“Can you restart?” → Anytime, but your score resets to zero.
“What does the diploma look like?” → A bouquet of flowers.
Here is the spec as it stood after the first refinement:
# Learn to Type Flower Game
You have to pick flowers by typing the right keys.
## Levels
- **Level 1:** F, G<br>- **Level 2:** F, G, D, K<br>- **Level 3:** F, G, D, K, S, L, A, ;<br>- **Level 4:** F, G, D, K, S, L, A, ;, T, U<br>- **Level 5:** F, G, D, K, S, L, A, ;, T, U, R, I<br>- **Level 6:** All alpha keys except the keys mentioned below that are excluded<br>- **Level 7:** Little words<br>- **Level 8:** Easy words<br>- **Level 9:** Medium words<br>- **Level 10:** All words
The keys **Q, W, Y, O, P, Z, X, C, V, B** are not used.
At level 1, it is just 1 letter that you have to type, but as you go up the levels, you have to type more letters at the<br>same time.
Level 2, its either one or two letters<br>Level 3, its two letters<br>Level 4 its two or three letters<br>Level 5 its three letters
When you pick enough flowers, you go to the next level.
Each level can score up to 3 stars.
To get one star you need to pick 5 flowers, to get two stars you need to pick 10 flowers, and to get three stars you<br>need to pick 15 flowers.
You can only go to the next level if you get 3 stars in the current level.
Each level you have a time limit of 5 minutes.
You can restart whenever you want, but your score will be reset to zero.
When you complete all the levels, you get a diploma that you can print. The diploma has a bouquet of flowers.
AI Assisted Planning
Ok with a decent spec in hand, I did what I now regularly do in my real workflows: I get an AI to help me further plan out the<br>design. We opened up Claude Code together to help us think through the edge cases and implementation details.
My starting prompt:
“My kid has an idea for a typing game, we put the info here: typing/flower-game/spec.md. Interview us to clarify any<br>other things that we might need to know before creating the HTML game. Then we will write those details in a second<br>markdown file.”
Claude used its AskUserQuestion tool to ask us clarifying questions in rounds, covering core mechanics, visuals and<br>themes. Some details that we got out of this:
Do multiple flowers appear on the screen? How does the targeting of flowers work?
What happens visually when you pick a flower?
What does the final diploma look like?
Do we store progress? (yes, localStorage)
We answered each round together, discussing the options. My daughter especially had strong opinions about having rockets<br>coming out of the flowers when picked (visible flames!) and the flower colors (red, blue, light purple, or pink petals<br>with yellow centers).
The result was a more complete design document that captured everything we had decided. You can see the<br>full design.md here if you’re curious.
AI Powered Implementation
With the design document complete, the next step was to actually build the game. Claude Code running with GLM4.7 did a<br>decent one-shot, with the result being a single static html file<br>that I could host on GitHub Pages. (Note: the game is not very mobile friendly, but then again, why would you<br>practice typing on mobile?)
There were bugs, of course. The first version didn’t handle the level unlocking correctly. The timer didn’t stop when<br>you completed a level. Later, we added a “10-second bonus time” feature once you reached 3 stars, something that<br>wasn’t in the original spec but made the game more...