Jennifer swift portfolio

Jennifer's Photo Gallery

Birdtrip

Why I built BirdTrip

Bird photography has become a way for me to slow down and challenge myself to see and hear what's around me instead of looking at my phone or listening to a podcast on my walks. But once I started taking more photos, I ran into a familiar problem: what do I do with all of this?

I've used Flickr for years because it's simple to share albums with friends and family. Now I'm also using Merlin for identification and eBird for logging observations. That leaves me with two disconnected records every time I go birding with a camera:

  • An eBird checklist with the hard data
  • A Flickr album with whatever I photographed

Neither system talks to the other. So answering "what did I actually photograph on this walk?" means manually cross‑referencing both every time.

I built BirdTrip to automate that match. Right now, it runs locally on my MacBook but hosting it, and sharing the GitHub, are in future planning.

It started with a simple idea:

I want to build an app so I can learn more about Claude Code. I want it to take data from my eBird account and match it to photos in my Flickr account, so I can have a reference for each outing. How do I start?

What resulted was a project that I'm excited about and after roughly 35 hours across 10 working sessions I have reached an MVP.


What BirdTrip does

  1. Pulls my eBird checklists (species, date, time, location, count) for a date range.
  2. Pulls my Flickr photos for the same date range (title, date taken, GPS if present, tags).
  3. Matches each checklist to the photos most likely taken on that outing, and within a checklist, tries to match individual photos to individual species.
  4. Renders a per-outing page: species list, matched photos.

It sounds easy but it never is once the project starts.







Copyright © 2026 Jennifer - All Rights Reserved.

Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

Accept