How can generated fiction become a game children can actually play outside?
Parents plan online; children solve a printed adventure in real streets.
Research, curation, route logic and writing, with explicit human decisions.
The fun was outside. The work was in preparing it.
Schatzy began as a treasure hunt I made for my daughter’s birthday. The children loved playing outside. The hard part was everything before it: finding places that really exist, keeping the walk manageable, connecting each stop to a good puzzle, and producing something a parent can run without improvising.
My main goal with Schatzy was to learn how to build an agentic product from end to end, and to enjoy the process. A treasure hunt for my daughter gave that learning a real purpose: make it easier for parents to create something children would love playing outside.
I took ownership of the product decisions, design and implementation, working through place data, agent behaviour, payments and print delivery. A $100 build target gave the learning project an initial constraint. It has since grown into a product now in beta testing.
The same planning flow takes on three distinct identities when a parent chooses an adventure style. The theme changes the illustration, palette, typography and language across the interface; the underlying product logic stays connected to the same route and generation system. Open a screenshot to view it at full size.
Three worlds, one continuous experience.
I created three theme token systems, one for Detectives, one for Magic and one for Secret Agents. Choosing a world switches the active UI tokens, so its colours, typography and component styling carry through from the landing page to the adventure editor and printable kit. The theme becomes part of the whole experience, with a shared structure underneath.



The experience should feel magical to a child because the underlying decisions are unusually practical.
I designed the work as a sequence of decisions.
One prompt cannot reliably invent a safe walk, know what is visible on site and write a satisfying game. I separated research from curation, route selection from story generation, and machine output from the parent’s approval.
- 01
Set up
Choose a location, age and adventure world.
- 02
Discover
Explore nearby stops for the adventure.
- 03
Review route
Adjust the stops and walking route.
- 04
Confirm & pay
Approve the route before generation.
- 05
Review adventure
Edit the story and clues before printing.
- 06
Print & Play
Print the pack and take the adventure outside.
- ContextAge, language, theme and distance constraints
- Discovery agentPlace sources and area research
- Route logicDeduplication, stop quality and walking distance
- Evidence researchPaid visual and surroundings enrichment
- Writer + reviewersStory, clues, blind reading and bounded repair
- Print assemblyCards, companion guide and map
I assigned different decisions to different parts of the system. Place APIs supply candidates; research fills evidence gaps; rules handle duplicates and route constraints; the parent approves the walk. After verified payment, generation uses the locked route. The writer can shape language and fiction, while the selected places and physical evidence remain constraints.
A plausible place is not yet a playable stop.
Early results exposed the gap between “nearby” and “usable.” A place may be public but too vague for a riddle; a compelling detail may be temporary, inside a building or part of a stop already on the route. I made those distinctions product rules, then used focused research only where evidence was missing.
Would this work for a child standing there?
- 01Public and accessible from the walk
- 02Permanent enough to survive until game day
- 03Visible and distinct at a child’s height
- 04Supported by evidence, not a confident guess
- 05Close enough to fit the whole route
Uncertain detail?
Research the specific missing evidence. If it belongs to an existing place, enrich that place instead of creating a duplicate stop. If the detail still cannot be trusted, use only the supported context and keep the limitation visible in the adult guidance.
WEAK EVIDENCE → EXPLICIT UNCERTAINTYGround the writing
Evidence and age shape the clue before prose is written. Weak evidence calls for honest recognition and adult guidance; the model cannot invent a stronger landmark.
Validate the output
Structured output is checked for route order, answer leakage, grounding and usable hints. Invalid puzzles can be repaired without rewriting the entire adventure.
Keep a human gate
The parent decides whether the places and route suit their children. Once approved and purchased, generation works from those selected stops.
Define what each agent knows, and what it may decide.
The visible product is a guided parent flow. Behind it, I designed a sequence of model-assisted tasks with different inputs and responsibilities. That separation lets me investigate a weak clue without treating every failure as a reason to regenerate the whole adventure.
Ground the creativity. Check the result.
Real-world context
Destination details, sources and uncertainty.
A reasoning scaffold
Signals, age, arrival anchor and a shared story spine.
Story + destination clues
Creative language within the supplied physical facts.
Can the clue be understood?
Reads only the child-facing text, without the destination name or answer.
Are its claims supported?
Checks physical facts, age, language and continuity against the evidence.
Combine findings and check structure
Route links, stop IDs, answer leakage and blocking errors.
Patch only the failed clues
Preserve the route, successful clues and story frame.
An editable adventure
Keep remaining quality flags visible before print and play.
| Boundary | My decision | Why it matters |
|---|---|---|
| Creative freedom | The model can invent the fictional mission, but real-world clues must use supplied evidence. | A convincing story cannot compensate for a feature that is absent when the children arrive. |
| Parent control | Review the route before payment; keep the paid route fixed while story and clue text remain editable. | The content, map and printable cards need to refer to the same chosen adventure. |
| Navigation | The adult or map handles the general area; the child recognises the exact arrival feature. | A child should not have to reconstruct an official place name to solve the clue. |
| Story structure | Advance one mission without numbering fictional fragments or fixing the total number of clues. | The narrative must survive changes to the selected stops. |
| Research budget | Gate deeper enrichment behind verified payment and reuse suitable cached evidence. | Exploring a route should not trigger every expensive generation task. |
A correct description is not yet a good riddle.
Earlier versions combined a station puzzle with a separate clue to the next stop. I simplified the experience to one outgoing destination riddle per transition, with a finale that closes the mission. That reduced the number of instructions and made the walk itself part of the game.
The remaining difficulty is editorial. We can have enough evidence about a destination and still get a feature list, a decorative metaphor or a clue that explains its own deduction. The output can be grounded and structurally valid while leaving the child nothing to discover.
“A broad red-brick building carries a tall tower with a sharply pointed top. Clocks watch from high above · can you name the place?”
The features are supplied directly. The child mainly matches the description to a building, and the question asks for a place name.
“It tells the time without speaking, and a flower above its entrance needs no water. Which place fits our message?”
Clocks and the window become something to interpret. This illustrates a writing direction; it is not a validated model output or proof that children can solve it.
Both excerpts come from the destination-riddle work documented during development. The editorial version still needs contextual clarity and child testing. A metaphor alone does not meet the full inference bar.
| What went wrong | How I changed the approach | What remains open |
|---|---|---|
| The reviewer knew the answer | Add a child-only reading without names, evidence or planner rationale, alongside the answer-aware review. | Model review is still an imperfect proxy for an actual child. |
| The clue gave away its conclusion | Make the reasoning step explicit in planning, then require the prose to leave that step for the child. | Some outputs still revert to lists or reveal the anchor too soon. |
| The story contaminated the evidence | Keep the fictional hook about motivation and story state; put physical clues in the grounded riddle body. | Poetic language must not quietly invent a spatial relationship or feature. |
| “Harder” meant longer wording | Define age-specific reasoning and language, from a simple concrete move to more indirect contrast or elimination. | Difficulty needs to be tested with children, not inferred from vocabulary alone. |
| A valid response looked like success | Separate structural and grounding errors from editorial quality warnings. | Successful delivery is a system result, not a release decision about quality. |
Improve the context before adding another agent.
I tested a whole-story writer to see whether one request could improve continuity across the opening, clues, arrivals and ending. The story improved, but clues still described or revealed their targets. A separate automatic editor corrected some narrative problems while adding another model call; it did not reliably create the missing discovery, so I have not adopted it into the product flow.
The current experiment adds five weak-to-improved editorial example pairs in German and English, selected by age, to the writer and repair context. They demonstrate the wording we want without another model call. Local checks passed, but their effect on new paid generations is still unproven.
To compare changes, I use frozen inputs and saved outputs so a writing experiment does not also change the route or evidence. That makes the question more precise: did this change improve what a child has to think through?
The individual stops looked fine. The walk did not.
I tested the original hunt with children aged nine to ten around Berlin’s Wrangelkiez. The route from Wrangelstraße toward Markthalle Neun and Lausitzer Platz and back felt too long. That observation changed the product definition: radius alone was a poor proxy for a comfortable adventure.
Technically possible
Attractive stops can add up to a tiring experience when the route sprawls.
Playable by default
I reduced route presets and began shaping compact loops and clearer guidance when there are too few stops.
I also built diagnostic views and repeatable comparisons for place discovery. Looking at candidate coverage, rejection reasons and source behaviour makes it easier to tell whether an agent change improved the product or merely produced more convincing prose.
The build has to work for the parent and the business.
Cost is a design constraint here. I added cache and request limits around discovery, track provider and model calls, and put the paid commitment after route approval so an expensive final generation serves a route the parent has chosen. Those choices make the $100 experiment concrete without pretending the eventual unit economics are proven.
A lost response is not a lost adventure.
Paid generation has a persisted attempt and payload. Returning to the flow can recover a finished result or identify an attempt still running, rather than immediately starting another paid generation.
Measure the stages.
Model calls record usage and duration; provider calls record request counts. I distinguish list-price estimates from actual billing and leave unknown costs explicit.
Keep the quality bar visible.
Grounding, coherent story and usable print output are necessary. Beta testing focuses on whether the clues feel rewarding and parents can confidently run the adventure.
Schatzy is currently in beta testing, with route planning, payment, recoverable generation, story and clue editing, and print delivery built into the product. The focus is now on learning from parents using the full journey and children solving the clues: how clear the process feels, how well the riddles work in the real world, and what needs to improve before a wider launch.
What I take into the next product: specify what an agent may decide, expose where it is uncertain, and test its output against the world it claims to describe.



