Automating a Smart Bird Feeder's Photo Archive with Kubernetes and Immich

My Bird Buddy smart feeder takes a photo every time a bird visits. Over a few months, that adds up to thousands of images — all sitting in Bird Buddy’s cloud app with no good way to search, organize, or back them up. I wanted them in Immich, my self-hosted photo library, organized by species and properly timestamped. The Bird Buddy app doesn’t have an export feature. But the pybirdbuddy Python library can authenticate to their API and walk the feed. So I built a two-stage pipeline: a CronJob that downloads new photos daily, and a second CronJob that syncs them into Immich. Both run in Kubernetes, and the whole thing is about 300 lines of Python. ...

July 16, 2026 · 5 min · Rusty Bower

Unit-Testing Home Automations That Run in Kubernetes

Home automations are code that controls physical things. When they break, the consequences aren’t a 500 error — they’re a garage door that won’t close in a snowstorm, or window shades that open at 3 AM, or a tablet that charges to 100% and stays plugged in for months until the battery swells. I run about 20 AppDaemon automations in my homelab, all deployed as Kubernetes ConfigMaps and tested with appdaemontestframework. The testing isn’t academic — it’s caught real bugs that would have been annoying or expensive to discover in production. ...

July 16, 2026 · 7 min · Rusty Bower

Fixing 10,000 Upside-Down Scanned Slides with a Local Vision LLM

My grandfather had about 10,000 35mm slides. I rented a SlideSnap X1 and spent a weekend feeding them through — 33 boxes worth, organized into folders by box. The scanner itself was great, but when you’re pushing through thousands of slides in a weekend, some inevitably go in upside down or backwards. No metadata, no EXIF orientation flags — just thousands of JPEGs, some right-side up, some not, sitting on a NAS. ...

February 23, 2026 · 7 min · Rusty Bower

Finding Fraud in $1 Trillion of Medicaid Data with DuckDB

CMS recently published provider-level Medicaid spending data from T-MSIS — every fee-for-service, managed care, and CHIP claim from 2018 through 2024, aggregated by billing provider, procedure code, and month. 227 million rows. $1.09 trillion in payments. I wanted to see what falls out when you run some basic fraud heuristics against it. The dataset is available at opendata.hhs.gov/datasets/medicaid-provider-spending/. The dataset The download is a single 2.94 GB parquet file with seven columns: ...

February 14, 2026 · 15 min · Rusty Bower