Sauntr is my swipe-based travel discovery app. Samuel is its recommendation agent — and the first working proof of the Agent Master method. My own product, built on my own stack, disclosed as exactly that.
Sauntr users swipe through venues — restaurants, bars, places worth a detour. Samuel watches the pattern and the moment: your swipe history plus what you're doing in this session, fed through the Claude API, turned into recommendations that come with a reason.
Not "you might like this." More like: here's why this fits what you've been choosing. The difference between those two sentences is the whole product.
Early lesson, and the most portable one: an agent can only be as specific as the data traveling with each event. If a swipe record only says "user liked venue #4821," Samuel can only say "you like venues." Category tags had to travel with every swipe — the venue's type, its traits — before Samuel's observations could get sharp.
That's a content decision disguised as a data decision. What the agent is able to say was determined by what we recorded, fields and tags designed backward from the sentences we wanted Samuel to be capable of. Writing for machines starts in the schema, not the chat window.
Samuel's agent brief — the Agent Master output — settled the behavioral questions before development:
Feels like you're after some fresh air today. Shadows on the Hudson has a riverfront patio that earns it on a day like this.
What that sounds like in the product:
"Feels like you're after some fresh air today. Shadows on the Hudson has a riverfront patio that earns it on a day like this."
Suggestion, reason, no pressure. He states the fit; he doesn't argue for it.
The point of showing the contract: every behavior above existed on paper before it existed in code. That's the method.
Sauntr is mine — the product, the data decisions, and the agent's rules all trace back to the same desk. That's disclosed everywhere this work appears, because a case study on your own product is only worth something if it's labeled honestly. What it proves is simple: I don't just write behavioral contracts for agents. I'm building against one — in public, on my own product.