DEV Community

Ishaan Chowdhury
Ishaan Chowdhury

Posted on

TrailTalk: A Walk Journal Powered by Local Gemma 3

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

TrailTalk is a small walk journal. You photograph a plant, tree, or bird, and a vision model running on your own laptop identifies it, provides a confidence level, a few identifying traits, and a fun fact, then saves the sighting to a local journal.

The screen is meant to be the shortest part of the walk: photo, identify, save, keep walking. I built it for people who like walking in parks and on trails and don't want to upload every photo to a cloud service just to learn what a plant is.

Demo

In my October 6, 2026 test session, TrailTalk connected to local Ollama and used Gemma 3 4B (gemma3:4b) to identify a sample nature image. It returned Moss, category Plant, confidence High, with traits ("green, soft, carpet-like growth covering rocks and logs") and a fact about how mosses absorb water through their surfaces. I ran it twice, and both results were saved to the local SQLite journal and appeared in the Walk Journal with their timestamps.

To be clear about what this shows: the image was a sample image, not a photo from a walk, so these are software tests and not trail sightings. I haven't measured inference time or done a Wi-Fi-off test, so I'm not claiming either.

Code

GitHub logo ishaanchowdhury1 / trailtalk

Offline nature identifier and outdoor walk journal powered by local Gemma 3 through Ollama.

🥾 TrailTalk — Offline Nature Identifier & Walk Journal

Submission for Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
Build something with open-weight models or open-source AI that gets people off the screen and into the world.


🌟 What is TrailTalk?

TrailTalk is a privacy-first, 100% local nature identification and outdoor walk journal app designed for hikers, nature lovers, plant enthusiasts, and outdoor explorers.

When walking on remote forest trails or local parks with spotty or zero cellular signal, traditional cloud-based AI apps fail. TrailTalk solves this by running open-weight vision models (such as Gemma 3 or Llava) locally via Ollama.

  • Take photos of plants, trees, flowers, birds, or wildlife on the trail.
  • Get instant offline identification, taxonomy details, ecological fun facts, and safety notes.
  • Log sightings automatically to a local SQLite walk journal.
  • Export formatted summaries to share your walk highlights on DEV.to!

🛠️ Tech Stack

…

How I Built It

  • Model: Gemma 3 4B (gemma3:4b), run locally with Ollama
  • App: Streamlit, with a SQLite walk journal
  • Flow: The photo is base64-encoded and sent to the Ollama server on the same machine. Gemma is prompted to return structured JSON: species, category, confidence, traits, a fun fact, and a care or safety note. The result is shown in Streamlit and saved to the journal.

The app has three tabs: Identify & Log, Walk Journal, and Walk Summary, which generates a Markdown recap of the walk.

Two honest lessons from building it:

1. I deleted my own fallback. My first version returned canned answers ("House Sparrow", "Neem") whenever Ollama wasn't running. It made the demo look good, but no model had produced those answers. I removed it completely. If Ollama isn't available, TrailTalk now reports an error and doesn't invent an identification. An honest failure is more useful than a convincing fake.

2. Generated code still needs a developer. A coding agent wrote the first draft, and it didn't run. I fixed Streamlit API errors (unsafe_allow_headers, use_column_width, a deprecated width argument), removed an external Unsplash image that would break without internet, and fixed unreadable text colors. Then I checked that Python could reach Ollama and that gemma3:4b was installed.

Why Does Open Innovation Matter?

  • Privacy: a nature photo can reveal where you were and who was with you. Here it's processed on my own machine and not sent to a hosted vision API.
  • Cost: there's no per-image API fee. It runs on hardware I already own.
  • Control: the model is a setting, not a dependency. I can swap Gemma for another local vision model without rebuilding the app.

Prize Categories

  • Best Use of Gemma: Gemma 3 4B runs locally through Ollama and does all of the identification: photo, local inference, structured result, journal entry.

Top comments (0)