DEV Community

Snehal Thombare
Snehal Thombare

Posted on AI-assisted

I let open-source AI name the birds, so my phone could stay in my pocket

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

Trail Journal is an offline bird-walk companion. You record a walk with your phone in your pocket, then a local pipeline tells you which birds it heard and writes a short journal entry about the walk in Marathi. The screen is the shortest part of the experience: the walk is the point.

How it works

  1. BirdNET-Analyzer (open-source, runs offline) listens to the recording and lists the birds with confidence scores.
  2. Gemma 3 4B, an open-weight model running locally through Ollama, turns that list into a Marathi journal entry.
  3. A ~40-line Python script glues them together and writes journal.md.

Test run on an Asian Koel recording from xeno-canto: 27 detections, average confidence 0.78.

journal.md output with Marathi entry

Output of journal.md: bird list from BirdNET, then the Marathi entry from Gemma 3 4B. Bird and place names stay in English, the sentences are Marathi.

What went wrong (and how I fixed it)

My first prompt made Gemma mention "other birds" that BirdNET never detected, and the Marathi had a stray Hindi word and some garbage text. A stricter prompt fixed it: write only about the data, never invent a bird, use simple correct Marathi.

Small local models need tight guardrails, but with them they do the job.

Why open matters here

  • No signal needed. Record on the trail, process at home. After one-time model downloads (BirdNET ~224 MB, Gemma ~3 GB), nothing needs the internet.
  • My recordings stay on my laptop. No audio goes to a server I don't control.
  • Free. No API keys or credits.
  • Swappable. Changing the model or prompt is a one-line edit, which is how I fixed the hallucination.
  • Marathi. I wanted the journal in my own language.

Limitations

  • My first test used a xeno-canto recording, not my own walk.
  • Gemma 3 4B's Marathi is good but not perfect, so I check it before sharing.
  • BirdNET confidence is a guide, not proof.

Code

https://github.com/binarymind-dev/Trail-journal

Credits: BirdNET-Analyzer (Cornell Lab of Ornithology and Chemnitz University of Technology, non-commercial license); test audio XC1173496 by Lars Lachmann via xeno-canto; Gemma by Google via Ollama.

Top comments (0)