Inspiration

I love planning trips, but the hardest part is rarely finding places to visit. It is deciding what to do when a trip has more than one possible future.

On Hawaii's Big Island, weather could move a volcano or summit day. On my six-day American Southwest loop, I rebuilt the route repeatedly around The Wave permit lottery, while also comparing driving my own car with flying and renting one. Every change meant reopening tabs, recalculating time and cost, and losing the reasoning behind the previous version.

Most travel planners generate one polished itinerary. Real travel planning is a decision problem. TripFork began with a different question: what if a planner preserved every viable route, made the tradeoffs visible, and activated the right branch when reality changed?

What it does

TripFork is an uncertainty-aware travel planner that compares complete itineraries instead of returning one generic answer.

A traveler can paste an existing plan, add dates, budget, starting city, fixed bookings, must-see stops, transportation preferences, constraints, and an uncertain event such as a permit result or weather change. TripFork creates two or three complete branches and compares them side by side across:

  • total cost and trip length
  • driving and door-to-door transit time
  • fatigue and trip pace
  • booking complexity and route flexibility
  • experience coverage and explicit tradeoffs

Travelers can change what matters most—balanced, save money, take it easy, save time, or see more—and watch every feasible route get rescored. When an uncertainty resolves, TripFork switches the recommendation and next actions without deleting the alternatives or rebuilding the trip.

Each plan includes an interactive route map and a concrete action checklist. Every original input remains editable.

TripFork also turns completed trips into reusable knowledge. Travelers can publish what they actually did as a mapped public guide with real cost, highlights, lessons, and tradeoffs. Anyone can fork that guide into a new editable trip without changing the author's original. The product is seeded with ten field-tested She Leaves Notes routes, but it is designed for every traveler to publish and fork their own.

A no-sign-in, no-typing guided trial lets a first-time visitor experience the full decision loop in about 60 seconds.

How we built it

I built TripFork with Codex in one continuous product workflow. Codex helped turn my travel stories into structured route data, explore the product model, implement the bilingual interface, wire interactive maps and persistence, write validation tests, and deploy the public experience.

At runtime, TripFork sends the travel situation to GPT-5.6 through the OpenAI Responses API. Using Zod-backed Structured Outputs, the model separates fixed commitments, movable items, must-haves, optional experiences, constraints, and uncertainty. It then returns complete, comparable branches plus outcome-specific recommendations.

The application is built with TypeScript, React 19, Next.js 16, vinext, and Vite. It uses Cloudflare Workers and D1 with Drizzle ORM for persistence, and Leaflet with OpenStreetMap for route visualization. The interface supports English and Chinese.

The public demo also contains a complete deterministic fallback, so judges can test creation, comparison, decisions, saving, publishing, forking, and export even if a live model request is unavailable.

Challenges we ran into

The hardest challenge was making branches truly comparable. Two itineraries are not useful alternatives if they silently drop different requirements, use inconsistent assumptions, or hide their costs. The data model had to preserve the baseline while making every change explicit.

A second challenge was representing uncertainty as product state rather than prompt text. Permit pending, won, and not won must each lead to a coherent recommendation and action plan.

We also had to make maps, persisted trips, public guides, bilingual copy, and a no-login judging path work together without making the interface feel like a spreadsheet.

Accomplishments that we're proud of

I am proud that TripFork now feels like a usable product rather than a one-shot AI demo. It can compare driving and flying, respond to traveler priorities, activate a new branch when an event resolves, map every route, preserve editable inputs, and turn a real trip into a guide that someone else can fork.

The two showcase scenarios come directly from trips I actually planned: Hawaii's Big Island and the Southwest loop around The Wave lottery.

What we learned

The biggest lesson is that travel planning should be modeled as a decision graph, not a single itinerary. AI becomes more useful when it preserves constraints, exposes tradeoffs, and remembers why an option exists.

We also learned that a strong demo needs a zero-friction path. Letting judges experience the core loop before typing or signing in changed the product more than adding another generation feature.

What's next for TripFork

Next, TripFork will import bookings, saved places, and rough notes automatically; connect live prices, weather, permit, and availability sources; let travelers merge the best parts of different branches; and recompute affected reservations and deadlines when reality changes.

The long-term goal is simple: plan it, compare it, travel it, and let the next person fork it.

Built With

Share this project:

Updates