cd /news/ai-tools/guardabosque-an-offline-nature-guide… · home › topics › ai-tools › article
[ARTICLE · art-149273] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=↑ positive

Guardabosque: an offline nature guide for Tabasco's jungles, powered by Gemma running on my laptop

A developer in Villahermosa, Tabasco built Guardabosque, an offline nature guide that runs Google's open-weight Gemma 4 multimodal model locally via Ollama to identify plants, birds and insects from phone photos taken where mobile coverage is unreliable. Each identification takes about 30 seconds on a 16 GB M1 Pro, returns structured Spanish-language output with observation tips and a short "field quest," and keeps photos on the local device with no service cost.

by read4 min views2 publishedOct 11, 2026

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

I live in Villahermosa, Tabasco, in southeastern Mexico. We're surrounded by wetlands, rivers, jungle reserves and city parks full of toucans, iguanas, herons and plants most of us can't name. But the moment you walk into Pantanos de Centla or the trails of Agua Blanca, your phone signal disappears, and so does every "identify this plant" app that depends on the cloud.

Guardabosque ("forest ranger" in Spanish) is a nature guide that works with no internet at all:

The design goal was simple: the screen should be the shortest part of the experience. Take a photo, read for ten seconds, put the phone away.

It's for families, students and anyone in the southeast who wants to know what they're looking at, especially the kids in our STEAM-HER community who are starting to explore science and tech.

Last week I was at a ranch in Cárdenas, Tabasco and photographed a pile of green fruit that had fallen under the trees. Nobody around was sure what it was. Back home, I ran that photo through Guardabosque. Gemma recognized it as tropical palm fruit, described the oblong, rough-skinned fruit and the jungle setting, and added the one safety note that actually matters: don't eat it without an expert identification, because some tropical plants are toxic. Then it gave me a field quest: walk slowly along the trail and look at the mosses and ferns growing at the base of the trees.

That last part is the whole point. Instead of "here's a Wikipedia summary, keep scrolling", it sends you back out to look at something else.

Here's a real response from Gemma 4 running on my M1 Pro, for a photo of a keel-billed toucan:

{
  "kind": "bird",
  "commonName": "Tucán",
  "scientificName": "Ramphastos",
  "confidence": "high",
  "description": "Es un ave grande con un cuerpo predominantemente negro. Su característica más notable es su pico grande y colorido, que presenta tonos verdes, rojos y amarillos.",
  "lookFor": [
    "Busca aves con picos grandes y coloridos.",
    "Observar el comportamiento de alimentación en el dosel del bosque.",
    "Escuchar sus llamadas distintivas."
  ],
  "safety": "",
  "fieldQuest": "Camina lentamente por los senderos permitidos, observando la diversidad de aves en el dosel del bosque durante diez minutos."
}

Each photo takes about 30 seconds on a 16 GB M1 Pro once the model is warm. On a trail, that's fine: you take the photo and keep looking around while it thinks.

Guardabosque is an offline nature guide for people exploring Tabasco, Mexico. It uses an open-weight Gemma model running locally through Ollama to identify a plant, bird, insect, or other organism from a phone photo, suggest what to observe, and create a short field mission that gets people walking again.

It is designed for parks, wetlands, forests, and neighborhoods where mobile coverage is unreliable. Photos stay on the local device and laptop, there is no service cost, and the model can be changed with GUARDABOSQUE_MODEL.

ollama pull gemma4:e4b-it-qat
npm start

Open the printed network URL from a phone connected to the same Wi-Fi network or to a hotspot hosted by the phone or laptop. The laptop runs the server and Ollama; the phone is the field interface.

Useful configuration defaults are:

PORT=3000

…gemma4:e4b-it-qat), Google's open-weight multimodal model, in its quantization-aware 6.1 GB build. It reads the photo and answers in Spanish.node:http, node:fs and node:test. If the whole point is that it works without internet, I didn't want a npm install step that needs it. The frontend is plain HTML, CSS and JavaScript, installable as a PWA, mobile first, with high contrast so you can read it in full sun. 1. Structured output isn't guaranteed. My first version asked Ollama to enforce a JSON schema with the format parameter. On my Homebrew build, the MLX engine returned 501 Not Implemented for structured output, and a different build silently ignored the schema and answered in prose. The fix: always describe the schema in the prompt too, extract the JSON even if it's wrapped in markdown, retry once, and remember when a server doesn't support format so you don't pay for the 501 on every request.

2. Pick the model size for the machine you have. The default gemma4:e4b tag pulled a 9.5 GB build, and with Docker running my 16 GB Mac hit 30 GB of swap; a single photo took more than three minutes. Switching to the 6.1 GB QAT build brought it down to about 30 seconds with similar answers. With open weights you choose the trade-off yourself instead of taking whatever a vendor serves.

GUARDABOSQUE_MODEL) swaps Gemma for any other model in Ollama. When I needed a lighter build for my laptop, I switched in minutes. With a closed API I'd have been stuck with whatever was offered. Built by @gartox.

── more in #ai-tools 4 stories · sorted by recency
── more on @guardabosque 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/guardabosque-an-offl…] indexed:0 read:4min 2026-10-11 · —