Friendly Helper: A Kindness Game for Kids

OVERVIEW
Friendly Helper is a small social and emotional learning game for children aged 5 to 8, set in Hong Kong. A short scene plays, the child picks one of four actions, and gets gentle feedback. Getting it right earns a Friendly Helper badge. I designed the game, wrote and tested the prompt behind its first version, and shipped the final game with fixed scenarios.
TIMELINE
Oct 2026
MY ROLE
Solo UX Engineer (Design, Prompt Design & Development)
TOOLS USED
JavaScript, Gemini API, Veo, Claude Code, Vercel
The Challenge: AI That Is Safe for Children
The first version of Friendly Helper asked an AI to write a new scenario every time a child played. That raised real design questions. Could it always give exactly one right answer? Would the labels fit the buttons? And could I be sure it never put a child in an unsafe situation, such as being sent to help a stranger? I treated these as product problems to test, not just prompts to tweak.
A Fixed Template, Not a Hope
Every scenario has the same shape: one helpful action and three kinds of wrong action, which are ignoring the person, being careless, and getting in the way. Exactly one right answer became part of the design instead of an instruction the AI could miss. Code checked every result against limits taken from the interface, such as the 22 character limit on a button label, and sent specific problems back to the AI to try again, up to three times.

In the game: the child picks one of four actions
Testing the Instructions
I tested each version of the instructions by generating sample scenarios and having a second AI model grade them for safety, one clear answer and a kind tone. The first, plain prompt produced no usable results: the labels were far too long for the buttons and the right answer was not where the game expected it.
The tests also caught a real safety problem. Some scenes sent a child to help a stranger. I fixed it in the data, not by rewording the prompt: every person now comes with how the child knows them, such as a neighbour or a classmate. Telling the AI what not to do also changed little. Giving it a short list of allowed actions worked.
Fewer, Better Scenarios
Live generation meant a cost on every play and a dependency on API credits, which ran out in production. So the final game plays 10 fixed scenarios, one for each background video, written to the same rules, and the generation pipeline stays as tooling. I wrote the scenarios with Claude, around the person and objects visible when each clip freezes.
The background clips were made with Veo from a script, one per setting: a classroom, an MTR carriage, a cha chaan teng, a park and more. A shared style prompt and a negative prompt make them read as one set.

Background clip: MTR

Background clip: cha chaan teng

Background clip: classroom

Background clip: estate playground

Background clip: park