About BirdWorks

High-fidelity field audio capture + AI-powered bird identification

What is BirdNET?

BirdNET is a research platform that uses deep learning and artificial intelligence to identify bird species by their vocalizations. Developed jointly by the Cornell Lab of Ornithology and Chemnitz University of Technology, BirdNET can recognize over 6,000 bird species from around the world.

The system analyzes audio recordings and compares them against a massive database of bird calls and songs, providing identification with a confidence score. This technology makes it possible to monitor bird populations continuously and non-invasively.

About This Project

BirdWorks is a real-world field deployment built and maintained by Wasatch Bitworks — a small studio that builds fast, data-driven websites and custom systems for niche applications. All bird photography by Zachary Kane.

How Our System Works

1

Continuous Audio Capture

A custom three-microphone array mounted at our Wasatch Front location continuously captures high-fidelity audio. The audio flows through an Alesis MultiMix 8 USB mixer and is recorded in 15-second segments at professional quality (48kHz sample rate, 16-bit stereo) around the clock.

Hardware: Primo EM272Z1 capsules (phantom-powered) • Format: 16-bit PCM stereo • Elevation: ~4,500 ft

2

Local AI Analysis on Raspberry Pi

A Raspberry Pi 5 running the BirdNET v2.4 neural network processes each audio segment in real-time. The AI compares detected sounds against a trained model of 6,000+ global bird species and assigns confidence scores (0–100%). Detections below 70% confidence are filtered out to reduce false positives.

Device: Raspberry Pi 5 • OS: Debian 12 • Threshold: 70% minimum confidence

3

Cloud Sync & Permanent Archival

Every 5 minutes, the Raspberry Pi syncs confirmed detections to our cloud backend—a Sinatra/Ruby CMS with PostgreSQL storage. Audio clips are archived on AWS S3 for permanent preservation. All data is stored in UTC and includes full detection metadata and confidence scores.

Sync interval: 5 minutes • Database: PostgreSQL • Storage: AWS S3 with lifecycle management

4

Website & Public Display

This website fetches fresh data from our public API and regenerates every hour during daytime hours (6am–10pm MT). Built with Eleventy (static site generator) and Tailwind CSS, it displays the latest detections, species trends, activity charts, and curated bird photography. The /live page offers real-time updates with a 5-minute refresh interval.

Generator: Eleventy v3.1.2 • Hosting: Netlify CDN • Builds: Hourly during active hours (17/day)

Technical Architecture

Hardware

Audio Capture

  • 3-Microphone Array: Custom-built array using wired Primo EM272Z1 capsules (phantom powered)
  • Audio Interface: Alesis MultiMix 8 USB mixer — 4 phantom-powered XLR mic inputs (stereo input to Pi)
  • Recording Format: 16-bit PCM, stereo, 48kHz
  • Segment Length: 15-second continuous recordings
Three-microphone array using Primo EM272Z1 capsules

Primo EM272Z1 capsules: Available at Micbooster

Location & Specifications

Location: Wasatch Front, Utah
Coordinates: 40.5608°N, 111.8460°W
Elevation: ~4,500 ft
Active Since: December 22, 2025

Raspberry Pi Device

System Specifications

  • Hardware: Raspberry Pi 5
  • Operating System: Debian 12 (Bookworm)
  • AI Model: BirdNET 6K Global v2.4 (FP16 optimized)
  • Species Recognition: 6,000+ global bird species

Detection Pipeline

  1. Audio capture (15-second chunks)
  2. BirdNET model analysis
  3. Confidence scoring (0-100%)
  4. Threshold filtering (70% minimum)
  5. Local SQLite storage
  6. 5-minute cloud sync to CMS

Detection Settings

Threshold: 70% confidence
Sensitivity: 1.25× (boosts weak signals)
Extraction Format: FLAC audio clips

Backend (CMS & Database)

Architecture

  • CMS: Sinatra/Ruby API (Bitworks CMS)
  • Database: PostgreSQL (detection, species, photos, audio)
  • Photo Storage: AWS S3 (original + derivatives)
  • Audio Storage: AWS S3 (pre-signed URLs)

Data Management

  • Detection Sync: Every 5 minutes (Pi → CMS)
  • Data Retention: Permanent archival
  • Photo Management: Soft-delete, multi-size derivatives
  • Timezone: UTC storage, Mountain Time display

Public API Endpoints

These read-only endpoints power the BirdWorks frontend and are optimized for caching and performance.

/api/birds/:slug/latest - Recent detections (max 200, cached 1 min)
/api/birds/:slug/hourly - Hourly species breakdown for day (cached 5 min)
/api/birds/:slug/daily - Daily detection counts (cached 5 min)
/api/birds/:slug/detections/species - Species with counts (cached 5 min)
/api/birds/:slug/photos - Photo metadata (cached 5 min)
/api/birds/:slug/species/:species_slug/presence - Yearly activity grid (cached 24 hr)
/api/birds/:slug/audio/:id - Pre-signed audio URLs (no cache)
All endpoints support CORS for client-side access. Hourly endpoint provides complete day aggregates to handle high-volume detection days efficiently.

Frontend Website

Technology Stack

  • Static Generator: Eleventy v3.1.2 (11ty)
  • Styling: Tailwind CSS v3.4.13
  • Templating: Nunjucks
  • Hosting: Netlify (CDN + auto-deploy)
  • Analytics: Plausible (self-hosted)

Pages & Features

  • Homepage with stats and featured photos
  • Live detection feed (5-min auto-refresh)
  • Species index with detection counts
  • Species detail pages (photos, activity grid, audio)
  • Photo gallery with featured section
  • Advanced explore dashboard with charts

Data & Freshness

Data Fetching: Build-time from public CMS API (no auth required)
Update Strategy: Hourly scheduled rebuilds (6am–10pm Mountain Time, 17/day)
Live Updates: Only /live page with client-side 5-minute auto-refresh
Data Freshness: All pages show timestamp ("Data updated: {time}") to signal snapshot nature
Build Time: ~0.60 seconds (optimized, single API fetch)

Note on Accuracy

While BirdNET is highly accurate, it's not perfect. Factors like background noise, overlapping calls, and similar-sounding species can affect identification accuracy. Confidence scores help indicate how reliable each detection is. For research use or rare-species confirmation, expert verification is recommended.