In 2020 and then in 2022, AJ and I adopted our two kittens – Kitkat and Moochie. We’d just moved into our first real home, and the back porch overlooked a natural area with tall trees and constant bird song. To keep the kitties entertained while we spent our days at work, I set up a couple of bird feeders on our back deck.
Since then, the endless variety of birds (and other wildlife) visiting us has been an immense source of joy and wonder for both me and our feline friends.

While the cats fantasized about pouncing on the birds, I set up a cheap trail camera to capture images. It wasn’t long before I found myself going down a deep rabbit-hole of ornithology, photography, and the struggles of managing large quantities of images.



Once I had the camera settings dialed in, I found myself sorting through hundreds of photos every night. Some were amazing, but most were repetitive or devoid of any birds. I started looking into Machine Vision and Neural Networks as ways to automatically sort through the photos. I even audited a few lectures from MOOCs – but trying to implement something from scratch felt overwhelming.
Fortunately, the universe rewarded my commitment to procrastination. While hard-working trailblazers developed LLMs and Machine Vision models, I spent my time learning about different birds, adding plants they love and manually sorting through oh-so-many images.

Recently, while experimenting with ChatGPT for an unrelated project, I discovered that it could produce surprisingly nifty code. Before long, I found myself vibe-coding – coding with only a surface-level understanding of what I was doing – towards my goal of automatically identifying the birds in my trail camera images.
The results have been far better than I imagined. ChatGPT’s guidance has saved me hundreds of hours of work (and many more hours of frustration). It has helped me choose models, explore different approaches and fine-tune settings.
I now have a “supervised learning” system: my computer can analyze an image to detect and classify birds, and I can add anything it misses back into the training data to continue to refine the model.

The next logical step was to document this experience and see if others have suggestions to make this system even better. For now, if ChatGPT recommends a particular model, I roll with it because I don’t know any better. I’m interested in learning about better algorithms and models. I also know I’m limited by my own bird identification skills, and any errors in my classification become a part of the training data and get carried through the system – so, I’d love to hear suggestions for better accuracy here. Finally, I’m curious to learn what kind of information scientists (academic or citizen) wish they could access.
If you’re interested in learning more, I’ll be posting (semi) weekly updates outlining what I learned along the way. Feel free to follow along and feel free to share your thoughts and suggestions.
Next post: Choosing a camera
Leave a comment