Backyard Birds turns the yard outside your window into a continuously monitored wildlife station. Microphones on cameras around your property listen around the clock, automatically identify the birds calling and singing nearby, and collect it all into a dashboard that shows you who is visiting, when they show up, and how the weather changes their behavior.
You do not have to be watching or recording anything yourself. The system listens, recognizes species by their calls, saves short audio clips of what it heard, and builds a running picture of your local birdlife over days, weeks, and seasons.
What you can see
The dashboard is organized into a handful of views.
The Overview is your at-a-glance home: current conditions outside, the newest arrivals, recent activity, your most-heard species, and a thirty-day trend chart.

The Live feed shows detections as they happen, grouped so you can watch the yard come alive through the morning.

Species gives you a searchable, filterable index of everything that has been heard, and each species has its own detail page with a photo, background information, a reference recording of what that bird should sound like, and the actual clips captured in your yard so you can compare. It also shows whether the species has recently been reported nearby, as a sanity check.

Patterns is where the data gets interesting. It charts daily activity, the dawn chorus, how birds respond to different weather, and a heatmap of activity across hours and days.

Cameras lets you compare what each listening station is picking up side by side.

Flagged is a review queue. Automated listening is not perfect, so this view helps you confirm or dismiss detections that look questionable, which keeps the rest of the dashboard clean and trustworthy.

How it works
Under the hood, Backyard Birds is a small system of cooperating services that all run as containers on a single machine on your home network. Nothing is exposed to the internet; the cameras, weather hub, and database all stay on your LAN.
The listening happens continuously. A service pulls the audio stream from each camera and runs it through BirdNET, an open bird-sound recognition model, on short rolling windows of audio. Every identification is recorded, and brief padded clips of recent detections are saved so you can hear them later. The bird model is bundled in, so there is no separate download and no special hardware needed.
A second service handles weather. If you have a compatible weather station, it listens for the station’s local broadcasts and records minute-by-minute conditions, plus notable events like rain and lightning. That is what makes the weather-versus-activity correlations possible. It can also backfill historical weather so your older bird data has matching conditions.
Everything the two listeners capture is written into a shared TimeScaleDB database built for exactly this kind of timestamped data. The dashboard, a web app, reads from that database and presents all the views described above. The three services never call each other directly; the database is the single shared contract between them, which keeps the system simple and resilient.
The dashboard also enriches what it shows by pulling from public sources: bird photos and summaries from iNaturalist and Wikipedia, reference recordings from xeno-canto, and nearby-sighting comparisons from eBird. These are cached locally so outside services are touched sparingly, and the app degrades gracefully: if an optional integration is not configured, that panel simply does not appear, and everything else keeps working.
The idea behind it
Backyard Birds exists to make the ordinary life of a backyard visible. Birds are around us constantly, mostly unnoticed, and most of what they do happens when no one is looking. By listening patiently and quietly, identifying what it hears, and remembering it over time, the system turns fleeting calls into something you can actually explore: who lives near you, the rhythm of their days, and how the weather moves them. It runs on your own hardware, on your own network, and asks nothing of you except curiosity.
It’s available on GitHub if you have all the pieces in place to run it.