Back to work

PERSONAL AGENT

Tenon

I designed and built Tenon to keep delegated plans coherent when prices change, flights slip, or a person needs to take over.

When the terms change, Tenon asks you to review them again before booking.

Role
Product, design and build
Scope
Two journeys, three layouts, one task model
Status
Working build with sample data

The turning point

An approval belongs to the version you saw.

Personal agents now handle real errands. The hard part comes after the handover: a fee posts while you are looking at the total, a flight slips, a business refuses to deal with an assistant, or you pick the plan back up on your phone.

Tenon acts alone only where a mistake is cheap to undo. When the terms change, the first review is withdrawn and a new one shows the old price struck beside the new. A language model maps what you say to one of seven intents; fixed rules decide the rest. A fee mid-review costs a second look, never a charge you didn’t see.

The total moved

A hotel adds a fee while you are reading the total you are about to approve.

The plan stopped holding

A delay breaks the plan you approved, after you handed it over.

A business said no

Stewart Street Inn only takes bookings directly, so the agent cannot finish the booking.

The person stepped back in

You pick the plan back up on your phone, partway through.

Loading Tenon

My role

I led Tenon's task model, interface and working build.

My responsibility

I decided what the agent may do alone, what waits for a person, which version an approval applies to, and who owns each item.

I worked with the founding team on one task model for both journeys, laid out for desktop, tablet and phone.

The Wren on Pine

  1. First review$640Withdrawn
  2. New review$676Waits for your OK

How I worked

  • Set autonomy by the cost of a mistake. Tenon acts alone only where a mistake is cheap to undo. Anything that charges a card or changes a booking waits for the person.

  • Gave the model one narrow job. It only turns a typed message into one of seven bounded intents. Deterministic code decides totals, holds, ownership and confirmation.

  • Designed for the hand-back. A weekend in Seattle and a dishwasher repair run on the same task model, so a person can step in or pick the plan up on any device.

How it works

A language model sorts each message into one of seven intents; code decides totals, holds and confirmation.

You say

We now land at 8:30 pm.

The model hears

Tenon read your message

Intent
New arrival
Time
8:30 pm from your message
Day
Fri Nov 6 from the itinerary

One of seven intents. It never sees prices, bookings or permissions.

The code works it out

Lands SEA8:30 pmFlight 1127, was 6:10 pm
At the hotel9:25 pm55 min by Link light rail
Earliest dinner9:40 pm15 minutes after arrival
Next table for two9:45 pmSorrel & Salt's reply, sample data

Arithmetic and fixed rules, not the model. The 8:00 table is too early.

You decide

Tenon checked dinner against your arrival

Dinner at Sorrel & Salt

Table8:00 pm9:45 pm
ConfirmedWaiting for your OKTable held until 4:12 pm

Changing a booking waits for your OK.

Decisions

Four decisions define how Tenon behaves.

Each one is a rule in the engine, visible in the product, with the cost I accepted for it.

A pencil erasing a line on a dinner reservation

Tenon acts alone only where a mistake is cheap to undo.

The brief carries three standing permissions a person can read in one glance. Tenon researches and books a table with no deposit on its own, then says so. Anything that charges a card or changes a booking comes to you. Messages to other people are drafted and left for you to send. These are the three questions the Judgment instrument used to ask with sliders (can it be undone, what does an error cost, who else is affected), now answered by what the product does.

Design precedent

Stripe describes the Muse checkout as a purchase the person approves, paid with a single-use card scoped to that one purchase.

Every card charge is a tap you make yourself. In exchange, nothing that costs money happens while you aren't looking.

A clipped document stamped with a check mark

Every review carries a version and a hold time.

When the hotel adds a fee while you're reading, the first review is withdrawn and a new one shows the struck $640 beside $676, with the terms that did not change listed underneath. An old button, a view that hasn't refreshed, or a second device can't push the earlier version through: the engine refuses it and says what already happened. Approvals made offline wait and are checked again on reconnect.

Design precedent

Human-in-the-loop workflows suspend on a decision, resume only on that decision, and time out rather than wait forever.

A fee posting mid-review costs you a second look. It never costs you a charge you didn't see.

An open travel wallet holding a hotel booking and a room key

When a business won't take an assistant, the work moves to you, prepared.

Stewart Street Inn only takes bookings directly, and a hotel can refuse assistants mid-booking. Tenon doesn't work around that. It pauses on the stay, hands you the guest names, dates, quoted rate and arrival note ready to copy, and marks the item as yours in a band nobody can miss. When you hand it back, it shows exactly what you changed, records it as done by you, and rechecks the budget.

Design precedent

Amazon blocked Meta's Muse from shopping on its site, citing disclosure and how the agent identifies itself.

You do the provider's step yourself. The comparison, the details and the rest of the trip carry on without restarting.

A front desk bell beside an hourglass

A timeout is not a yes, and not a no.

If the hotel doesn't answer within 30 seconds, the stay moves to Checking, the booking button stays gone, and Tenon asks for the booking status before anything else. If the reservation exists, it's confirmed once. If it doesn't, you get a fresh review, and nothing was charged.

Design precedent

Payment APIs treat a retry after an unknown result as a repeat of the same request, not a new one, so it can't charge twice.

The rare slow reply takes longer to resolve. A double booking can't happen.

One task, three layouts

A desk for comparing, a phone for deciding.

On a desk or a tablet, the plan and the current decision sit side by side, so a change can be checked against everything it touches. The phone leads with the decision and keeps its action in reach of a thumb. All three read the same task state.

Bo is guidingStep 1 of 7
Desktop, Monday at your desk: a new plan starts from one request. Tenon drafts the brief, asks how to get your flight, then works through the bookings.
Bo is guidingStep 1 of 6
Phone, Friday 3:42 pm: the flight now lands later, so dinner has to move. The decision stands on its own.
  • The phone keeps the decision

    What changed, what stayed the same, the terms, and one action within reach of your thumb.

  • The phone drops the comparison

    The side-by-side stays on the desk. The plan sits one scroll below.

  • Nothing is retold

    Each layout reads the same task at the same version, so a decision made on one shows as made on the other.

The opportunity

The plan you approved stops being the plan that executes.

Personal agents now handle real errands. The hard part comes after you hand one over: a fee posts, a flight slips, a business refuses to deal with an assistant, you step in to do one part yourself, or you pick the task up again on your phone. I designed for that part.

Informed by current personal-agent workflows.

  • The baseline is strong. Meta's Muse already ships purchase approvals, goals and activity views, editable memory and generated documents.
  • Businesses set their own boundaries. Amazon blocked Muse from shopping on its site.
  • Useful, and a little too close. A hands-on reviewer found everyday tasks genuinely useful and the access uncomfortable.

Why every booking waits for your OK

Agent benchmarks give context for this rule. They did not evaluate Tenon.

Sierra, τ³-bench, August 2026Banking customer service, four runs each

The same tasks, asked four times

Muse Spark 1.1Meta

41%right on one run
21%right on all four runs
0%20%40%60%1 run2 runs3 runs4 runs41%30%24%21%Muse Spark 1.149%39%35%32%Claude Opus 547%37%32%28%GPT-5.6 Sol55%45%40%35%Qwen 3.8 Max
Source: Sierra, τ³-bench leaderboard. External benchmark, not Tenon results.

Handoff and return

The stay changes hands twice and nothing is lost.

Four steps from the takeover path, and who can act at each one. Try it below: book the inn, pick a king room, hand it back.

1. ComparedTenon ranks three stays against the brief.
4. Handed backTenon shows what you changed, records it as yours, and rechecks the budget.
TenonReady when it's your turn, then resumes.
YouYou take over, book directly, then hand it back.
Prepared details Your booking and changes
2. PreparedYou take over.Tenon pauses on this stay and hands over names, dates, rate and arrival note.
3. BookedYou book on the inn’s site.On Stewart Street Inn’s site.King room, $598 $612
Confirmation SSI-20931.
Names, dates and arrival note stay with the plan.
Bo is guidingStep 1 of 4
Loading Tenon
Live: the takeover, prepared. Open Stewart Street Inn, change the room, complete the booking, then hand it back.

The build

Each rule lives in the engine, and the build checks it.

Hotel, Fri Nov 6The Wren on Pine added a $36 fee. Review before booking.Booked, WRN-4821-SEA

The Wren on Pine

$640two nights$676

Still within your $700 hotel budget.

Booked

A fee posting mid-review costs you a second look.

It never costs you a charge you didn't see.

Checks41
  • Approvals
  • Expiry
  • Timeouts
  • Takeover
  • Cancellation
RunningSample data only. Nothing books, charges or messages anyone.

41 automated checks.

Approvals, expiry, timeouts, takeover and cancellation.

The rare slow reply takes longer to resolve.

A double booking can't happen.

Two nights near WestlakeThe Wren on Pine, $676BookingCheckingConfirmed
Waiting on the hotelNo answer in 30 seconds. Asking for the booking status.The reservation exists. Confirmed once.

Compare notes

Working on a product that’s still taking shape?

More work

Continue with another case study.

Showing Reframing patient rounding around how sites actually round and FieldWake, set 1 of 3