Pondering

Introducing Perch & Cloud Compute

Five years ago, I realized almost all of my bird photography had been buried in an enormous, unsearchable archive. If only I had the time to find, cull, review, edit, and share those photos, the beautiful moments they depicted could bring a smile to so many faces, including my own.

Every so often, I'd go digging through all of those photos, looking for a particular memory of a Lesser Goldfinch perched on a tree, or a Costa's Hummingbird drinking nectar. Rarely would I find the memory I was looking for, but the process of exploring — though a bit frustrating — would remind me of so many beautiful moments that I had never shared.

Project Kestrel was conceptualized in 2021, when my backlog of photos was so large that my hard drive ran out of capacity. At the time, I was trying to build something that could help me cut away the blurry bulk of my photography, freeing up space for more. Then, over time, that initial vision kept expanding.

Can Kestrel free up space on my hard drive?

Can Kestrel help me pick which photo to edit by finding the sharpest ones?

Can Kestrel help me find an old memory of a Goldfinch perched in a tree?

Over the years, I've completed an entire undergraduate engineering degree while working on Project Kestrel in my afternoons and weekends. After learning Python and Machine Learning from my university courses, I gradually built a capable set of algorithms that could process photos in a way that truly accelerated my workflow.

I open-sourced it, threw it on the app store, and built a website. After all, more birders sharing more bird photos is good for all of us — including the birds themselves.

I never imagined Project Kestrel would analyze 1.5 million photos within just 3 months!

Today, I'm announcing two new platforms. I'm also announcing a bunch of things that won't change. Read on.

Introducing Perch — Share Entire Birding Outings with Anyone

I'm truly quite proud of, and excited for, the launch of Perch.

Previously, if I wanted to share my bird photos, my options were quite limited. In general, I'd first pinpoint the photo that I liked the most, then edit, export, and upload it to a sharing platform such as Instagram.

But that is one photo. What about the rest of them?

Birding, for me, is not about chasing and photographing a rare bird or lifer. Much of the joy comes in the experience of birding itself — pausing to appreciate the common Cardinals and Mourning Doves just as much as the rare Vermillion Flycatchers. I have long wanted to be able to share the experience of that birding outing, especially when I'm one of the only photographers in a group.

This is what led to Perch.

Click "Share with Perch" to upload an entire timeline of your birding outing to the internet. Then, personalize it by adding notes and marking your favorites. Invited viewers can browse your photos effortlessly, because Perch is backed by Project Kestrel's intelligent bird detection, species tagging, and scene-based organization. They can like their favorites, leave comments, and more.

The easiest way to understand Perch is to simply see one. Perch is free for everyone, with 3 GB of storage (equivalent to ~15,000 photos) per account.

How does Perch work? Perch relies on Project Kestrel to first analyze and organize all of your photos. Kestrel creates highly storage-efficient thumbnails of your photos and the birds within them, letting viewers browse the full image and a zoomed-in crop of the image subject simultaneously.

Perch is built with privacy in mind — you can specify exactly who your Perch is visible to and revoke access at any time. Perch never uploads full-resolution images; only the thumbnails that are created by Kestrel.

Introducing Cloud Compute — Offload Analysis to Cloud GPUs

Cloud Compute is pretty straightforward: if your computer is slow, or you have a large backlog, send your photos to be analyzed in the cloud. The cloud analysis runs the exact same Project Kestrel pipeline as the local analysis app.

Engineering-wise, it was not straightforward: I designed a system that spreads your workload across up to 3 parallel GPUs to analyze as fast as possible. Additionally, the process of creating Cloud Compute led to massive performance improvements that were passed down to all local app users in version Gambel's Quail!

New accounts start with 2,500 images of cloud analysis credits to try.

Cloud Compute is also designed with privacy in mind. Your photos are deleted as soon as they are analyzed, and results from cloud analysis are deleted as soon as they are downloaded by your computer. In other words: Project Kestrel retains your data for as little time as it physically can to offer the service, no more.

Cloud Compute directly supports me, the solo developer of Project Kestrel.

The Future of Project Kestrel

In case you are wondering, here are a few important notes:

Project Kestrel remains free and open source. There are several reasons for this.

First, because Kestrel is open-source, you can browse your photos and all of your analysis results (cloud or local) using Project Kestrel forever. This means that even if I run out of time, Project Kestrel will still be accessible and downloadable by anyone.

Second, the open-source nature of Project Kestrel invites contributions from the community and establishes transparency. Anyone can inspect the source code to ensure that Project Kestrel is maintaining a strict privacy and security posture.

And third, it is simply a personal decision. I love birds, and bird photography lets me share that joy with others. The more people who use Kestrel, the more joy is spread around. That's good for humanity, and it's good for the birds too. :)

From one birder to another, thank you for using Project Kestrel. — Sanjay, Sole Developer and Owner of Project Kestrel LLC