Every trip I planned started with good intentions and ended with 14 open tabs, a screenshot folder, and a notes doc I never finished. The problem wasn't information — it was that nothing turned the information into a sequence. A list of "cool restaurants near me" is not a Tuesday.
So I built a generator that takes three inputs — city, number of days, and a vibe (slow, packed, food-focused, outdoors) — and returns a day-by-day plan. Not a booking, not a reservation. Just an ordered list of where to be and when, that I can copy and actually use.
What "vibe-aware" costs you in specificity
The vibe parameter is the part that makes or breaks it, and also the part that forces honesty about scope. "Food-focused, three days, Lisbon" should not return the same plan as "outdoors, three days, Lisbon." The generator maps vibe to a rough weighting of categories — meals vs viewpoints vs museums — and then sequences them by geography so you're not crossing the city four times a day.
The limit is that it knows nothing about your real constraints: opening hours, whether a spot is temporarily closed, whether you have a knee that hates hills. It's a first draft of a trip, not a confirmed one. I always treat the output as something to sanity-check against opening times the night before, never as a locked schedule.
Copy-first, booking-never
The most deliberate design choice was not integrating bookings. Every travel tool eventually wants to sell you a hotel, and that incentive warps the plan toward whatever pays. TravelItinerary stops at a copyable plan. You take it somewhere else to book, if you book at all. That keeps the recommendation honest: the day order is optimized for geography and energy, not for affiliate revenue.
For a builder, this is also the simpler path. Skipping the booking APIs means no OAuth, no rate limits, no refund logic — just a clean text output you can ship in an afternoon and iterate on.
What I'd add next, and what I won't
The obvious next feature is "adjust this day" — swap the museum for a market, push the late dinner earlier. That's a real improvement and I'll build it. What I won't build is a confidence layer that pretends the plan is verified. A travel plan benefits from a human who knows they hate crowded markets at noon. The tool should hand you a draft and get out of the way.
The limit
It's a planning aid for travelers, not a travel agent and not a guarantee that a place is open or worth it. I've been careful not to present generated suggestions as vetted facts — they're a starting point you confirm yourself. If a plan sends you somewhere closed, that's on the human in the loop, not a failure the app should hide.
When I want the draft without the travel-agent upsell, TravelItinerary is the one I use — copyable, booking-free, ready in a minute. The geography ordering is the part I'd never bother coding by hand for a weekend trip.
FAQ
Does it book anything for me?
No. It produces a copyable day-by-day plan. Booking is left to you, on purpose, so the recommendations stay neutral.
How does the vibe input change the plan?
It weights categories — food, outdoors, culture — and sequences them by geography so you're not backtracking across the city.
Can it handle multi-city trips?
The current version is built around one city and a fixed number of days. Multi-city is a likely extension, not a shipped feature.
Is the plan verified against opening hours?
No. Treat it as a draft to check against real opening times the night before, not a confirmed itinerary.