Design / Engineering
PassportMiles
A trip planner and credit card perk tracker, designed and built end to end.


PassportMiles keeps a whole trip in one place, reminds you to use the credits on your travel credit cards, and shows what your points were worth when you paid with them.
The problem
Travel details are scattered across confirmation emails, and card perks go unused because nobody remembers them. PassportMiles brings flights, hotels, rental cars, and everything else onto the trip they belong to. It's free to use, and there's nothing to connect.
My role
I handled the full stack and the UI, from the interface through the database and email pipeline.
Getting bookings in
Bookings can be entered by hand, pasted from an email, or forwarded to an import address:
- A Cloudflare Email Worker receives the forwarded email and parses the raw message.
- The worker sends it to a Supabase Edge Function.
- Claude Haiku turns the confirmation text into structured booking data.
Building it
- The front end uses React, TypeScript, and Mantine, with TanStack Query handling data fetching.
- Supabase provides Postgres and authentication, and Row Level Security on every table means users only see their own data.
- It's installable as a progressive web app, so it can sit on a phone's home screen.