Touch Grass Birder: a bird call identifier that works with no signal
Description and use
Touch Grass Birder is an offline bird‑call identifier that runs locally on the device, using BirdNET for species detection and Gemma 3 1B for field notes, storing results in a user‑owned JSON log.
Problem
Bird identification apps fail in low‑signal outdoor settings because they require network access and upload audio.
Outcome
The app identifies bird species offline, generates concise field notes, and stores a private log, enabling use in signal‑poor environments without data costs.
Workflow
- Record 6 s audio in the browser
- Encode to 16‑bit mono WAV
- Send to local FastAPI server
- FastAPI decodes with ffmpeg
- Run BirdNET acoustic model to get species and confidence
- Run Gemma 3 1B via llama.cpp to generate a short field note
- Append species, confidence, note, and timestamp to sightings.jsonl
- Return results to the browser
Evidence
Touch Grass Birder is a bird call identifier that runs entirely on your own machine.
Records six seconds of audio in the browser and encodes it to WAV on-device.
Identifies the species locally with BirdNET, the open acoustic classifier from the Cornell Lab of Ornithology.
Writes a short field note about the bird with Gemma 3 1B, an open-weight model running through llama.cpp.
Keeps a field log of everything you have heard, in a plain JSON Lines file you own.
- Record date: 2026-10-06T06:40:56.293Z