This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
Dawn Chorus is a listening-walk bird bingo that runs entirely on my laptop.
- The app shows a bingo card of the 12 birds most likely near me this week.
- I put my phone in my pocket, in airplane mode with the screen off, and record the walk with the normal voice recorder.
- Afterwards I upload the recording. An open-source model identifies the birds by their calls, and a local model writes a short field-journal page.
- The journal ends with the birds I missed, which is the reason to go out again tomorrow.
The screen is the shortest part of the experience. A "Grass Ratio" card compares the minutes I spent outside with the seconds I spent on screen. It's for anyone curious about the sounds around them, including places with no signal.
Real test: I walked 30 minutes on DATE. BirdNET found 10 species, including 5 of the 12 bingo birds, and I confirmed Myna, House Crow, Rock Pigeon myself. Screen time: 2 minutes.
Demo
A short captioned walkthrough: the bingo card, airplane mode, the walk with the screen dark, then the results.
Code
Dawn Chorus
Put your phone away. Listen to the morning.
Dawn Chorus is a listening-walk bird bingo that runs entirely on your own laptop. You get a checklist of the birds likely to be near you this week, you go for a walk with your phone recording in your pocket and the screen off, and when you get back an open-source model tells you who was singing. A local language model then writes you a short field-journal page about the walk.
Built for the Hacktoberfest Open-Source AI Challenge, Week 1: "Touch Grass". The idea: the screen should be the shortest part of the experience.
The story, real walk results and demo video are in the DEV post: Dawn Chorus on DEV
Contents
How I Built It
- BirdNET identifies birds from audio. Its location and week model also builds the bingo card and filters out birds that don't live nearby.
- Gemma 3 (4B), served locally by Ollama, writes the field journal.
- Streamlit and ffmpeg handle the interface and audio.
Two lessons shaped the design:
- Filtering by location matters. Without it, the detector reported dozens of species from a short clip.
- Language models invent things. With an empty detection list, Gemma wrote about a Robin and a Cardinal that don't live here. Now the card is checked against the detections, and a plain template replaces it if it mentions a bird that wasn't heard.
Why Does Open Innovation Matter?
- It works with no signal. BirdNET runs on the laptop, so a forest trail is no problem. A hosted audio API wouldn't work there.
- Recordings stay private. A walk recording holds a location and other people's voices. Nothing is uploaded.
- No per-request cost. Analyzing a long walk every day is free.
- A specialist model fits better. BirdNET is trained for exactly this task, and I could inspect and fix its over-reporting myself.
One caveat: Gemma is replaceable by almost any small local model. BirdNET is the part a general closed API couldn't replace offline. Its weights are also non-commercial.
My Agent Session
I planned the project with Claude and built it with Antigravity, testing each round myself and sending back what failed. [[OPTIONAL: paste your DevRelay session link, or delete this section]]
Prize Categories
Best Use of Gemma: Gemma 3 (4B) runs locally through Ollama and writes the field journal, fully offline, with a check that keeps its output honest.
Top comments (0)