The four kinds of travelers — and why flight search only works for one of them
Since 2018, I've been booking flights for friends, friends of friends, and eventually strangers. A few thousand bookings in, I started noticing a pattern. Almost everyone who asked for help fell into one of four buckets:
- Knows where, knows when."I need to be in London on June 14th, back on the 22nd."
- Knows where, fuzzy on when."I want to go to Lisbon sometime in May, whichever week is cheapest."
- Knows when, fuzzy on where."We have a week off in March and we want to go somewhere warm."
- Fuzzy on both."We just want to go somewhere. Sometime in the next two months. Under $X. Surprise us."
If you draw it as a grid:
| Destination fixed | Destination flexible | |
|---|---|---|
| Dates fixed | Easy | Harder |
| Dates flexible | Harder | Hardest |
The top-left box is what every flight search tool was built for. Open Google Flights, fill in the boxes, click search, done. The other three boxes are where most of the actual frustration lives — and they're the ones I kept getting calls about.

The combinatorial problem
When I worked for my uncle, who runs a travel agency, the calls that took the longest were never the simple ones. The simple ones got answered in five minutes from a GDS query. The hard ones — the flexible ones — could take a whole afternoon.
If you're flexible on dates and your destination is fixed, that's already 15 to 20 date pairs to check. If you're flexible on destination as well, multiply that by however many destinations are reasonable. Now layer in price as a goal — and you can't just pick the cheapest, because cheap usually means a 14-hour layover, an airline you don't trust, or arriving at 3am. So you're really looking for the best deal, which is a fuzzy multi-objective thing.
A skilled travel agent does this with intuition and recent memory of inventory. It's slow, brittle, and stops working the moment the agent goes home for the day. That's the gap I've been trying to close.
What FlyFr.ee does
FlyFr.ee is my answer to the question that's followed me around for six years: how do you make the flexible cases as fast and obvious as the fixed case?
The Explore tab is the version of that I'm building. You describe a trip in plain English — "Europe for 5–7 days from Toronto in August" — and it scans the combinatorial space and returns a grid of real destinations across cities, dates, and airlines.

You can search one origin against multiple destinations in a single query, with filters like trip length, layover length, airline, and max price applied without leaving the page.
Two ways to refine. A traditional search form with all the filters built in:

Or natural language, the same way you'd talk to a travel agent. Change the dates, narrow the layover, swap origins, ask for a different month.

Click into a destination and you see the actual departure-and-return date pairs with prices, sorted so the best deals are obvious.

Pick any deal you like, and FlyFr.ee instantly takes you to the exact pre-selected Google Flights page, so you can review the itinerary and complete your booking seamlessly.
The Explore tab solves the problem when you're flexible by dates AND flexible by destinations — or when you're fixed on a destination but flexible on dates. It shows you prices and destination options, helping you discover the best deals across cities and time windows.
The Flights tab: when you know where, but need a little date flexibility
The Flights tab solves a different problem: you know where you want to go, and roughly when, but you have slight flexibility on your dates.
For example: you want to fly from Toronto to Paris, departing around July 5th and returning around August 5th — but you could leave a week earlier or later, and return a few days before or after. The Flights tab lets you search with that built-in flexibility and shows you actual bookable flights, not just price ranges.
Right now, you can search up to five destinations at once. This is intentional — it keeps the number of search combinations manageable and results fast. But the limit can always be adjusted if more flexibility is needed.
Again, two ways to refine your search. You can use natural language in the chat:

Or use the traditional search form with all the filters built in — dates, origins, destinations, layover limits, airlines, and price caps:

Once you find a flight you like, select it (click it) to see return flight options:

Select your return flight to see a complete trip summary — including flight details, schedules, layovers, baggage information (if available), and total trip price — all in one clean, easy-to-review view.
From there, FlyFr.ee shows every available booking option for your itinerary. Direct airline bookings are always prioritized at the top, followed by trusted online travel agencies, with both sections sorted by the best available price.

Click through and you land directly on the booking page with everything pre-filled — dates, flights, and price ready to go:

The goal is not to keep you talking to a chatbot. The goal is to compress what used to take an afternoon into thirty seconds. Once you see something you like, FlyFr.ee hands you off to the airline or booking site — because that's where booking already works well, and there's no value in reinventing it.
Travel is a privilege, and I want people to use it well
I want to be straight about this: getting to ask "where should I go this month?" is a privilege most of the world doesn't have. I'm aware of that. This tool isn't about making the privileged more privileged. It's about helping the people who can travel waste less of that privilege staring at bad search results.
Almost everything good in my life came through travel. The conversations I've had at airport gates, on connecting flights, in waiting lounges — most of them I would never have had at home. People I admire most, I met in motion.
Recent improvements
Since the initial launch, several major improvements have been rolled out based on real-world usage:
Mobile-First Experience
The mobile experience has been completely redesigned with a tab-based navigation system that makes it easier to switch between chat, search filters, and results. For many use cases, mobile is now the better experience— especially when you're browsing destinations on the couch or comparing options on the go.
Map View for Explore
The Explore tab now includes an interactive map view on mobile, letting you visualize destination options geographically. Toggle between grid and map views to see either detailed cards or a spatial overview of where you can fly.
Date & Time Synchronization
The timezone and date handling issues have been resolved. Departure and return dates now correctly account for local time zones and GMT conversions, eliminating the off-by-24-hour errors that affected some searches.
A sneak peek at the mobile experience
Browse through the redesigned mobile interface — from landing to booking
Start your search
Describe your trip
Explore on map
Showing 1-3 of 8
What's next
With the core search experience now stable and mobile-optimized, the next focus is Hotels. A cheap flight to an expensive city isn't actually a cheap trip.
The plan is to bring hotel data into both stages of the search. First, the Explore cards will show an estimated total trip cost (flight + stay), so you aren't surprised by $400/night rooms after finding a $200 flight.
Second, during the booking selection phase, once you've picked your perfect flight, I'll show you curated hotel options with guided recommendations. It'll be like having that travel agent friend look over your shoulder saying, "This is the neighborhood you actually want to stay in."
Beyond that, the priority is staying useful and fast. Continuous refinements to the mobile experience, search accuracy, and interface polish are ongoing. This is a side project, not a startup—no growth team, no exit plan. Just a tool I wish existed when my uncle was on the phone with someone who just wanted to "go somewhere warm next month."
If you've used FlyFr.ee and something didn't work the way you expected, I'd love to hear from you. The fastest way to make this better is people telling me what's broken.


