How you build a treasure hunt for a country where nobody is going to install your app.
Vandeth
Somewhere behind a counter in Kampot there is a small printed object with a slip of laminated paper in its back. Ask for it and someone will hand it over. Point a phone at the paper and a page opens — in Khmer, English or French, in about a second, on whatever signal the street has. It tells you where you are, what you have found, and that the thing in your hand is now yours.
There is nothing to download. There is no account until you want one. រក means to find, and that is the entire brief.
Most people who will ever play this are in the country for a long weekend, and will not spend any of it in an app store.
Every design decision downstream comes from one sentence: a visitor with three days in this country will not install anything. Not for a hunt they have not started, not while standing outside a café in 34-degree heat, not on a data plan bought at the airport.
So there is no app to get. Every code is an ordinary web address, and the phone's own camera is the scanner — the one piece of software everybody already has and nobody had to be talked into. There is a native app, and it does exactly one useful thing: it keeps the scanner open between stations, which matters if you are walking a pepper plantation reading seven plaques in a row. Nothing else in the product is reachable only from it. That is a rule, not a plan.
PLA's glass transition, and an afternoon in the sun here goes straight past it.
The obvious way to build a physical token is to emboss the QR code straight into the print. It looks better. It is also a mistake you only get to make once.
A code printed into plastic is a code you can never change. When a season ends and a token comes back unfound, its hiding place is compromised — somebody has watched that shelf, or the café changed hands, or the thing sat in the rain for six weeks. What you want is to swap the code and put the same object out again somewhere else. So the shell gets a recess, and the code goes onto a slip of laminated paper that drops into it. The object is permanent; the code is consumable.
The material is PETG rather than the PLA every desktop printer ships with, and that is not fussiness either. PLA softens at around 60°C. A dark object sitting in Cambodian sun goes past that, and a token that has quietly slumped into a puddle of itself is not a souvenir.
The cell a hunt is drawn on. A good walk, and small enough to be worth walking.
A hunt has a map, and for anything you have not found yet it will not give you a pin. It gives you a square roughly 250 metres across — a good walk — and the true position is not hidden inside the page waiting to be dug out of the source. It is simply not sent. Nothing about where an unfound token is ever leaves the server.
The square is snapped to a grid rather than drawn around the real point, which sounds like a small distinction and is the whole thing: a circle centred on the truth still tells you the truth, just blurrily. A grid cell tells you a neighbourhood. Once you have found it, the map gives you the exact spot and keeps it forever.
Printed tokens scattered across a city with host venues. The trail depletes as it is played and refills between seasons. Finding one means keeping it.
A château, a museum, a pepper farm. Each station poses a puzzle worth one word, the words assemble into an answer, and the answer is redeemed at reception for the token. Nothing is consumed, so everyone gets the whole experience.
One square per station, woven in as it is found. A season that ends keeps its cloth exactly as it was.
Progress is not a bar. A hunt is drawn as a woven cloth, one square per station, and every find weaves a square in. On a collect trail the cloth depletes — it shows the whole shape of the season from day one, and the city takes it apart. When the season closes the cloth freezes exactly as it ended and stays public forever, which is a more honest record than a number that resets.
Nothing in this system is ever deleted. Status is a reading of a log that only ever gets appended to, which means a hunt somebody walked in February is still there in November, with the afternoon intact.
How long a colophon stays editable. After that it is what it is.
Keep a token and you get to write its page — once. A photograph, a few lines, fifteen minutes to fix your typos, and then it is fixed. It is a colophon, not a feed: no likes, no replies, no second draft two years later when you have thought of something wittier. The object is the scarce thing, so its page is scarce too.
The hunt itself has a wall, and that is a different subject — many people, many afternoons, and a picture apiece. Nothing on it replies to anything. There is no thread and no notification, because a wall of photographs from a Sunday is not a social network and does not need to become one to be worth having.
Venues ask for a printed booklet alongside the codes, and they are right to. Paper needs no battery and no signal, a child can write in it, and it goes home in a drawer where a web page does not. Nobody is trying to replace it.
What the codes add is the part paper cannot do: an answer checked the moment it is typed, a nudge for a group that has been stuck at one station for twenty minutes, narration in a language the booklet was not printed in, and a count the venue can actually use at the end of the season.
A hundred printed objects go out into a city over six weeks. Most are found. A few are not, and come back to be re-coded and hidden somewhere better next time. What is left afterwards is a frozen cloth, a wall of other people's afternoons, and a few dozen small printed things sitting on shelves in houses in four countries — each one with a page of its own that says who found it, where, and on what day.
That is the product. The software is just what makes it possible to hand somebody an object and have it mean something.