← All projects

Trip Pricer

APIs + private saved state

A JavaScript interface talks to a Cloudflare Worker, with Durable Objects storing account data. Travel APIs supply prices and award availability; Python builds and deploys the app.

01 / INPUTFetch the options

Travel APIs provide prices and award availability.

02 / ENGINEBring your wallet

Durable Objects hold private saved account data.

03 / OUTPUTCompare ways to book

The interface brings cash, points and credits together.

Tools & programs
JavaScript · Python · Cloudflare Workers · Durable Objects · SerpApi · Seats.aero · Claude

How it works

A JavaScript interface compares cash and award options with each person’s wallet. A Cloudflare Worker handles the APIs, accounts and saved data. SerpApi supplies Google Flights and Hotels results; Seats.aero and Rooms.aero supply cached award availability. Claude helps interpret trip descriptions and explain results.

What I used

JavaScript for the interface and Worker, Cloudflare Durable Objects for saved state, and Python to build and publish the application. Claude Code and Codex have helped develop, test and revise it.

Why I built it

I wanted to compare a trip using the points, credits and certificates I actually have, and see how to book an option after finding a price.

What still needs checking

Cached award seats and portal estimates need confirmation on the booking site. A displayed result is not a reservation or a guarantee that the price is still available.