Part four of building FamilyLine, my family’s AI agent, over four weekends. After giving it a voice and a safety gate, weekend three was the one my family had been quietly waiting for: a travel assistant. We’re a Singapore family; we travel on school holidays; planning is a group sport. But the most important thing I built that weekend was a limit.

What it does

The travel agent came together in slices, each one small enough to finish in a single sitting:

  • Trips: create one and it counts down to it; add itinerary items as they come up.
  • A pre-trip checklist: as the date nears, it proposes the standard to-dos — passports, insurance, online check-in — through the same approve-first gate from weekend two.
  • Deals: it finds real flight and hotel options for the trip.
  • Flight status: live “is it on time, which gate, how late.”
  • Recap: after the trip, it tallies the spend and works out who owes whom.
Travel flow: trip, checklist, weather, calendar and study deck
A concrete travel flow — a trip request turns into a checklist, a weather watch, a calendar add and a study deck, surfaced as cards over the following days. (Names redacted.)

And the part that felt like magic: you don’t need to learn any of those commands. Someone can just ask, in the group — “hot spring hotel in Taipei? price” — and the bot recognises it as a travel question, searches, and answers with options. Ask a follow-up, “flights too?”, and it continues the same thread. Natural language in, a real answer out.

Travel search showing Taipei hot-spring hotels and flight options
“Hot spring hotel in Taipei? price” → real hotels with prices, then flights on a follow-up. It surfaces options and hands off — it never books.

The decision that mattered: never transact

Here’s where I made the call I’d defend hardest. When the bot finds flights and hotels, it shows you the best few with prices — and then it hands you a “book here” link and gets out of the way. It never holds a card. It never books on your behalf. It doesn’t even try.

The design principle, which I now apply to every agent feature: find → surface → hand off, never transact.

This isn’t laziness — it’s the safest and most honest place to draw the line, for three reasons:

  • The blast radius of a mistake is tiny. A bot that surfaces the wrong hotel wastes ten seconds of your attention. A bot that books the wrong hotel wastes your money and your holiday.
  • The human is better at the last step anyway. Choosing the flight is where taste, budget, and a dozen unspoken constraints live. The agent is brilliant at the tedious part — searching everywhere, comparing, filtering — and should hand off exactly when judgement takes over.
  • Trust compounds. An assistant that never surprises you with a charge is one you’ll actually let near your travel plans. An assistant that might transact is one you supervise nervously, which defeats the point.

An agent that surfaces is useful. An agent that transacts is a liability. Knowing where to stop turned out to be a feature — arguably the feature.

A note on the natural-language part

Letting people skip the commands took a little machinery: recognising that a message is a travel question at all, pulling out the destination and any details (“hot spring”, specific dates), and remembering the thread so follow-ups make sense. But the effort was worth it, because the best interface for a family is no interface. They shouldn’t have to remember a syntax; they should just ask.

The takeaway

Restraint is a design feature. The instinct with agents is to push them to do more — to close the loop, to complete the purchase, to be end-to-end. But the most valuable, most trusted version of a travel agent is one that does all the tedious searching and then deliberately stops at the moment of consequence. Find, surface, hand off. Let the human take the last step — especially when that step spends money.

Last in the series: weekend four, the part my daughters took over. Jokes that stopped repeating, a word of the day, a “did you know?” tied to their school syllabus — and the moment a fact turned into a conversation.


Building an AI Agent for My Family — a seven-part build log

  1. I Built an AI Agent for My Family
  2. A Voice Nobody Wants to Mute
  3. Propose, Don’t Act
  4. Find, Surface, Hand Off — you are here
  5. A Bot That Teaches
  6. The Homelab Behind the Family AI
  7. Homework Stays Private

Related: An Agent Is a State Machine, Not a Loop.

Part of a personal DIY hobby, tinkered together on weekends for my own family, built entirely with open-source, self-hosted models.


Discover more from Digital Reflections

Subscribe to get the latest posts sent to your email.

Leave a Reply

The Blog

At the intersection of data, AI, and imagination lies the path to transformation. Our greatest evolutions occur when we use technology not just to improve what is, but to reimagine what could be.

Discover more from Digital Reflections

Subscribe now to keep reading and get access to the full archive.

Continue reading

Discover more from Digital Reflections

Subscribe now to keep reading and get access to the full archive.

Continue reading