project 04 · vibe-coded
Flight Fare Finder
A Python script that checks every airport/date combination you give it against real flight pricing data, and hands back the cheapest options sorted low to high.
What it does
You give it multiple origin airports, destination airports, and a date range for both departure and return. It checks every valid combination through a real flight-pricing API and returns the cheapest options with airline names and a working Google Flights search link — not a fake or broken one.
Major pivots
The interesting part of this project wasn't the final script — it was how many times the approach had to change once reality got in the way.
| API provider | Amadeus's free tier shut down mid-project (confirmed via their own "decommissioned" notice), and Kiwi's Tequila API turned out to be invite-only now. Switched to SerpApi, which scrapes real Google Flights data and has a genuine free tier. |
| Trip length | Started as a fixed "trip length in days" setting — too rigid. Switched to independent departure and return date ranges, paired together and automatically filtered so a return-before-departure pairing never shows up. |
| Booking link | The original goal was a direct purchase link, chased through a multi-stage token flow (search → departure token → return options → booking token). The final piece turned out to be a raw request fragment meant for a browser to execute internally, not a real URL. Settled on generating a normal Google Flights search link instead — reliable and not fragile to Google changing things later. |
Privacy by design
The API key lives in a .env file, never in the code itself and never pushed to GitHub. SerpApi sits as a middleman, so the device running the script never directly queries Google or airline sites — no fingerprinting risk there. No personal account or login is tied to any search.
Real-world results
| SAT vs. AUS to Denver | Same exact dates, different departure airport: $368 → $198 |
| SAT to Monterrey (MTY) | $291 found vs. $460 from a manual multi-site search |
| Phone comparison check | Prices matched a live manual search on a phone — no sign of personalized price-tracking based on browsing history or device |
Known gap
It compares by date only, not time of day — a cheap early-morning flight and an expensive evening flight on the same route currently look identical to the tool. Came up while comparing against a manually-booked flight that cost more partly because of its departure time. A good next feature to add.