Back to the archive

Working prototype · not a case study

Smart itineraries
rules assemble the trip.

A working slice of the itinerary-automation case study: set a trip, and a small deterministic engine assembles it from real Chiang Mai places — from my own trips there. Same principle as Baki: rules decide, design presents. Every stop is annotated with the rule that placed it, so the thinking ships with the output.

Days

Pace

Interests

3 days · 3 stops a day · tuned for culture, food

Day 1

Old City
  • morning

    Wat Phra Singh

    Lanna architecture at its most golden; the murals repay slow looking.

    picked for your culture interest

  • afternoon

    Lanna Folklife Museum

    Cool, quiet and beautifully curated — the context behind everything you'll see.

    picked for your culture interest

  • evening

    Ping riverside dinner

    Tables over the water, lamps in the trees. The slow ending a day deserves.

    swapped in — one proper meal a day is a house rule

Day 2

West foothills
  • morning

    Wat Pha Lat jungle trail

    The monks' old walking path up the mountain — forest, streams, a hidden temple.

    picked for your culture interest

  • afternoon

    Baan Kang Wat artist village

    Studios, kilns and slow coffee in a wooden hamlet. Buy the ceramics.

    picked for your food interest

  • evening

    Ploen Ruedee night market

    Street food in a string-lit yard — graze wide, commit late.

    worth crossing town for — nothing in-zone fit this slot

Day 3

Riverside
  • morning

    Warorot Market

    The locals' market: chilli pastes, sai ua sausage, fabric by the metre.

    picked for your food interest

  • afternoon

    Farm cooking class

    Pick it, pound it, cook it, eat it — the curry paste you make yourself.

    worth crossing town for — nothing in-zone fit this slot

  • evening

    Dinner + live music in Nimman

    Northern Thai plates, then whatever the band feels like. Low effort, high reward.

    worth crossing town for — nothing in-zone fit this slot

Why it works

One zone per day. The engine clusters each day inside one part of town, so the trip never criss-crosses the city. When it does borrow across zones, it tells you.

A slot grammar. Morning, afternoon, evening each accept different kinds of places — temples at sunrise, markets at night. Structure first; content fills it.

One proper meal a day. A house rule the traveller can't turn off. Opinionated defaults are a product decision — the same instinct as Baki's health guardrails.

Interests re-rank, never filter. Your interests boost matching places instead of hiding the rest, so a two-day trip still gets the city's essentials.

This prototype runs entirely in your browser on a static, tagged dataset — every place is real and from my own trips. A production version would sit on live data (opening hours, seasonality, bookings) and use AI only where it belongs here too: writing the words, never choosing the plan.