FlightTracker (Built w/ Claude Code)

I was planning a trip to Tokyo with a two-week flexible window and no desire to check Google Flights every day. The PM instinct kicked in before the builder instinct — the job-to-be-done wasn't a price dashboard, it was a single notification at the right moment. That reframe collapsed the scope entirely.

Context

Flight prices between Washington D.C. (IAD) and Tokyo (HND) fluctuate daily across flexible date windows. Manually monitoring them is tedious and easy to miss. The solution didn’t need a UI, a database, or a user account — it needed one thing: tell me when to buy.

The entire system runs on free infrastructure. GitHub Actions triggers a daily check, SerpAPI pulls real Google Flights data, and ntfy.sh fires a push notification to my phone with the price, flight details, and a direct booking link. Total cost: $0.

Project Info
Date:

2026

Role:

Sole Builder & Tinkerer

Technologies & Tools:

Claude Code, Python, GitHub Actions, SerpAPI, ntfy.sh

Activities and Responsibility:

  • Defined the minimum viable automation — notify on price, skip everything else
  • Built the Python script to query Google Flights across two flexible date windows
  • Configured GitHub Actions to run the check daily at 10am EST automatically
  • Integrated ntfy.sh for instant push notifications with formatted flight details and booking links
  • Deployed with zero ongoing infrastructure cost or maintenance overhead

Key Features:

  • Daily automated price monitoring across two flexible date windows
  • Non-stop flights only — filters out irrelevant results automatically
  • Push notification includes price, departure/arrival times, duration, and direct booking link
  • Runs entirely on GitHub Actions — no server, no hosting cost
  • Zero UI by design

Outcome:

  • Eliminated daily manual checking entirely
  • Got the notification, booked the flight
  • Built and deployed in an afternoon

Build Process:

Discovery
  • Identified the real job-to-be-done: not a price tracker, but a buy signal
  • Mapped the minimum inputs needed: route, date windows, price threshold
Build
  • Wrote the Python script to query SerpAPI and parse flight results
  • Set up GitHub Actions as a free, serverless scheduler
  • Connected ntfy.sh for push delivery — no app install required on the receiving end

Main takeaway: Sometimes, the best product is sometimes barely a product. Knowing what not to build is the skill — a full web app would have taken weeks and solved the same problem worse.