Culpepper UX
← PRODUCT BUILDS CASE STUDY — 02

Samuel Sauntr: the agent I wrote the rules for.

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.

01

Recommendations with receipts

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.

02

Specific observations require specific data

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.

03

What the brief settled before the build

Samuel's agent brief — the Agent Master output — settled the behavioral questions before development:

SAMUEL'S BRIEF — THE CONTRACT
DOES Makes contextual venue recommendations with a stated reason — built from your swipe history plus the current session, weather included. Every observation has to pass one hard filter: it must tell you something you couldn't already see for yourself.
NEVER Recommends a venue you've already dismissed. And never speaks in system language — no "based on your preferences, we recommend." Samuel talks like a well-informed friend, or he doesn't talk.
ACTS WHEN He has something specific enough to earn the interruption — at most once per session.
WAITS WHEN He's already had his one moment. More only if you ask: "Would you like more recommendations like this from Samuel?" is the user's door to open, not his.
SAMUEL FIRES
9:41▲ ● ▮
SAUNTR
— swipe deck —
Shadows on the Hudson Riverfront restaurant · Poughkeepsie 1.2 MI AWAY
S Samuel AGENT

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.

THE SAMUEL WIDGET — SAMPLE IMPLEMENTATION FROM SAUNTR, MY OWN PRODUCT One scripted venue. No live data.

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.

04

Founder, writer, and the person accountable for both

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.

How the brief got written → Sauntr ↗
← Agent Master Next: Content Playbook Engine →