← All tools

Toolkit · Visitor planning

Trip Planner

A rule-based itinerary wizard that turns a visit into a trip.

Screenshot of Trip Planner

The problem

Destination institutions have a harder marketing problem than city museums: nobody is ever nearby. The visitor has to plan a journey, book a flight, and find somewhere to sleep — and most museum websites hand them a hours-and-directions page and wish them luck.

How it works

A ten-step wizard that leads with desire rather than logistics. What do you want to see and do is step one; where you're travelling from is step six. It schedules against real pace budgets (roughly six, eight or ten-hour days), places time-anchored events only on days they actually run, and puts meals inside real opening hours.

Worth knowing

The line worth quoting from the repo: “It's a rule-based wizard — deterministic, no AI, nothing to hallucinate.” In a portfolio full of AI work, choosing not to use a model is the more interesting decision. An itinerary that invents an attraction, or a closing time, is worse than no itinerary at all.

The data-integrity system is the other half. A weekly job scrapes regional sources and, on failure, preserves the previous data and opens a GitHub issue — one broken scrape never empties the planner. A second job checks every booking link for rot and diffs advertised seasons, but never edits anything: automation raises a hand, a person makes the call.

Using it at your organization

  • Replace the regional data JSON with your own attractions, lodging and events.
  • Set your own pace budgets and the radius at which a stop becomes a day trip.
  • Point it at your own booking URLs; the link-rot checker will watch them.

Stack: Vanilla JavaScript · Python scrapers · GitHub Actions · GitHub Pages
Licence: MIT — use, modify and redistribute freely, commercially or not.
Hosting: static files; no server required.

Related tools

Built for the Theodore Roosevelt Presidential Library and released for anyone to use. See all 19 tools, or read how the whole system is built.