AI LodgeOptimisation

Fitinerary

A trip planner that chooses your hotel and day-by-day itinerary together, comparing hotels by true cost, with AI for language and code for every number.

About the Project

Choosing a hotel by its nightly rate hides what it does to the rest of your trip: how far you travel each day, what you spend getting around, and which places you can actually fit in.

Whenever I planned trips, I'd turn to ChatGPT for recommendations, but it was hard to compare itineraries, visualise travel distances or know whether a plan was actually practical. So I built a planner that chooses the hotel and the itinerary together and shows the arithmetic.

What It Does

You describe your trip in your own words, the AI turns it into settings you review, and you pick your must-visits. Fitinerary compares two or three hotels by true cost (room, admissions, transport and the value of your travel time), then builds a day-by-day schedule on a map. You can lock, move or skip stops and see a before-and-after comparison. If a request is impossible, it says why instead of inventing a plan.

It covers four cities (Tokyo, Singapore, Seoul and Kuala Lumpur) on clearly labelled sample data: the hotels are made up and travel times are estimates, so it isn't for booking real trips.

AI for Language, Code for Numbers

The schedule comes from an OR-Tools CP-SAT optimiser, and a separately written validator re-checks every plan against opening hours, travel time, budget and your locked stops. The AI (Claude Haiku 4.5) only reads your request into settings, proposes changes you approve and words the explanation. It never picks the schedule or sets prices, and code checks everything it returns, rejecting any number or place name that isn't in the computed facts.

The validator passed every plan the solver produced in evaluation, including 53 of 53 feasible Tokyo plans.

Testing Against the Real Model

My first live runs failed in ways my mock tests never showed, so I reproduced each failure in a test first and then fixed it. The live self-check went from 16/20 to 20/20, and a live red team found a real currency bug that I fixed.

Project Satisfaction

I'm most proud of the UI and of using AI to solve a problem I face myself. Fitinerary doesn't just rely on AI suggestions; it checks plans against real constraints. Seeing my idea become an app I'd genuinely use has been really rewarding.

Key Takeaway

Building with AI isn't just about prompting it to generate code. It's about breaking problems down, testing each feature, verifying AI suggestions instead of trusting them blindly, and continuously improving the product.

Areas for Improvement

I'd love to support more countries with real-time data on attractions, transport and prices, use more visual comparisons instead of text, and add flight prices and leave planning so Fitinerary can suggest when to travel, not just where.