About · an agentic project

A travel decision framework that shows its work.

Give it the trip and what's in your wallet, from cards to miles and points, and it tells you what to book and why. Seven things get scored: cost, comfort, upgrade potential, award value, flexibility, risk, and time. Each one carries the weight you assigned it for this particular trip, which is why the cheapest fare loses more often than you'd expect. The engine shows the arithmetic.

This page is the reference: what the tool computes today, where its data comes from, what it runs on. The method behind it, and the prompt to build one for your own decisions, live in the Guide.

7
scored dimensions
7
weighted priorities
0
accounts or logins
6
watched-trip slots
01

what it is

You provide the trip: origin, destination, dates, cabin, budget, loyalty balances, and a ranked list of what matters most, whether that's lowest cost, most comfort, the best shot at an upgrade, the best use of miles, or some balance of those. The engine scores every candidate itinerary on seven dimensions: Cost, Comfort, Upgrade Potential, Award Value, Flexibility, Risk, and Time. Each is weighted by your ranking. What comes back is the reasoning, with the price attached to it.

No single dimension decides the outcome. An itinerary that costs less but scores lower on your top-ranked priorities will not outrank a better-balanced one, and every result shows the exact weight each dimension received, so the trade-off stays visible.

The trip doesn't have to be a plain there-and-back. Two optional fields on the Trip card change its shape. Via routes the search through a stopover city; it starts blank and its nights field defaults to 0, which connects through that city the same day rather than overnighting, because most searches don't want a stopover at all. Return from a different city is an open-jaw: fly into one city, home from another, which is what you want when the middle of the trip happens overland. Either one turns the live fare search into a real multi-city query rather than two separate one-ways, and they compose, so a stopover on the way out and a different city home can be priced as one itinerary. The open-jaw carries into a watched trip too, so the every-other-day re-check prices the same shape you searched; a stopover doesn't, and watching one of those watches the plain route instead.

02

the stack

Plain web pages, running the same scoring engine in your browser every time, so the same trip and the same fares always produce the same answer. Five small pieces of server code handle what a browser can't do alone. One searches live fares (/api/fares). A second saves a route you ask it to watch, protected by a shared edit key so only you can add or remove one, and a third re-checks those watched routes every other day. The last two store fares you scan yourself from Kayak or Booking, and expose a privacy-scoped read of your watched trips (destination, coordinates, and dates only) for Vinyl Scout's Concert Radar.

Trip details reach the fare search only when you run one. Cabin and traveler count go with them. Your saved wallet, the cards and balances, never leaves your browser. Mileage and award figures are hand-maintained, distance-scaled planning ranges, because award availability isn't searched yet, and the screen labels them that way wherever they appear.

This site, today

  • Static pages, five small server functions, no build step
  • Live Google Flights fares, plus fares you scan yourself from Kayak or Booking
  • Every-other-day fare re-check for watched trips, with a health status log
  • Watching a trip is protected by a shared edit key, enforced server-side, so a shared link can't quietly spend your watch slots
  • Concert Radar cross-check: watched trips are checked against Vinyl Scout's catalog/wishlist/watching artists for shows nearby, both directions (built 2026-08-05, with vinylscout.org)
  • GitHub repo, auto-deploy on push

The one gap left is live award-space search, seats.aero style. Until that ships, no mileage figure here is a bookable quote.

03

what's on the page

Watched Trips

Routes you asked the site to keep an eye on, up to six, each re-searched every other day. Shows the live fare floor and how far it has moved from the price on the day you started watching. Adding or removing one needs the shared edit key.

My Balances

Your loyalty balances and transferable card points, with the date they were last updated. Typed in by hand, never synced from an account, and read straight back out of the page.

Input Card

Trip details, flight preferences, ranked priorities, credit cards, loyalty balances, and airport flexibility: everything the engine weighs. Optional Via and open-jaw fields turn it into a multi-city search.

Executive Summary & Best Recommendation

A short summary of what to book and why, plus the full detail card for the winning itinerary.

Decision Framework

The seven scored dimensions, each shown with the exact weight your priority ranking assigned it. Nothing about the weighting is hidden.

Strategy blocks

Upgrade, Award, and Purchase Timing guidance, plus up to eight recommendations specific to your inputs.

Date-Range Score Sweep

Re-prices the same trip across a 30 to 60 day window at 3 to 5 day intervals and charts price and score per departure date, so the cheapest date shows up in one pass instead of ten re-runs. Every sample is a real live search, so the number of samples is capped per click and the interval widens, and says it widened, rather than quietly sweeping less than you asked for.

Points Intelligence

Which airline programs and card currencies are worth the most per point, the transfer map for the cards you actually hold, and any transfer bonus still running. The valuations are hand-copied from The Points Guy with their copy date and age shown; a bonus whose end date has passed drops off the list rather than sitting there labeled active.

05

what it won't do

  • Will not present a reference-range price or mileage figure as a live quote. Every number on this site is labeled for what it is.
  • Miles get recommended only when the computed value clears a genuinely strong bar, about 1.6 cents per mile. The Award Strategy section shows that math on every run.
  • Will not optimize for a single variable. A lower price doesn't win if it costs too much on the dimensions you ranked higher.
  • No accounts, no passwords, no analytics, no third-party tracking. Your saved wallet never leaves your device.