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
- BirdNET-Analyzer (open-source, runs offline) listens to the recording and lists the birds with confidence scores.
- Gemma 3 4B, an open-weight model running locally through Ollama, turns that list into a Marathi journal entry.
- 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.
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)