This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
NatureBuddy AI is a small, calm web app that helps students and beginners spend less time on screens and more time noticing the natural world around them.
Most of us spend 8 to 12 hours a day on laptops and phones. We want to go outside, but a walk with no goal feels aimless, and when we do spot an interesting plant or bird, identification apps often want subscriptions, accounts, or location tracking. NatureBuddy tries to remove those barriers:
Daily Nature Quest: a short outdoor mission each day (for example, "observe three different fallen leaves" or "five minutes of birdsong"). It changes daily and tracks how many quests you have completed.
15-Minute Screen-Free Challenge: a countdown timer with Start, Pause and Reset. When it ends, a gentle synthesized chime plays and the session is saved.
AI Nature Guide: describe what you saw ("a small yellow flower with five petals on a thin green stem") and a local Gemma model suggests 2 to 3 plausible matches, what to look at more closely next time, and a reminder never to eat wild plants or disturb wildlife.
Private Nature Journal: field notes with a date, category (Flora, Fauna, Insect, Sky, Sensory, General) and optional location. Everything is stored in your own browser's localStorage.
It is built for anyone who wants a gentle, zero-friction reason to step outside, especially students and developers who live in front of screens.
Demo
Hosted page (partial demo): https://25b05a1201.github.io/NatureBuddy-AI/ Quests, the Screen-Free timer and the Journal work fully on the hosted page. The AI Nature Guide needs Gemma running on your own computer through Ollama, so on the hosted page it shows a notice instead. That is by design, because the AI runs locally and privately rather than on a server.
Full experience: clone the repo and follow the setup below (about 5 minutes).
Code
NatureBuddy AI — A Simple Outdoor Companion 🌱
NatureBuddy AI is a clean, lightweight web application built for the Hacktoberfest 2026 Week 1 DEV Challenge (“Touch Grass”).
Its goal is simple: help students and beginners spend less time staring at screens and more time exploring, noticing, and appreciating nature outdoors.
1. The Problem NatureBuddy AI Solves
Modern students and developers spend 8 to 12+ hours every day in front of laptops and phones. Screen fatigue, attention fragmentation, and disconnectedness from our physical environment are widely documented challenges.
While people often want to spend time outside, two common barriers arise:
- Lack of a gentle starting point: Stepping outside without an objective can feel aimless for digital natives accustomed to interactive tasks.
- Identification frustration & privacy concerns: When someone notices an interesting plant, insect, or bird, cloud-based plant identification apps often demand paid subscriptions, aggressive location tracking, account registrations, or proprietary…
Quick start:
bash
git clone https://25b05a1201.github.io/NatureBuddy-AI/
cd NatureBuddy-AI
ollama run gemma2:2b # in a separate terminal
pip install -r requirements.txt
python main.py # then open http://127.0.0.1:8000
How I Built It
Open-weight model: Google's Gemma (gemma2:2b by default) running locally through Ollama. The 2B size runs on an ordinary laptop, so no GPU or paid API is needed.
Architecture:
Frontend: semantic HTML5, responsive CSS and vanilla JavaScript. There is no framework and no build step.
Backend: a lightweight FastAPI app (with httpx) that sends the user's observation to the local Ollama server and returns Gemma's answer. It also exposes a health check so the UI can show whether Gemma is ready.
Storage: browser localStorage for quests, timer sessions and journal entries.
Prompt design: the model is asked to be honest. A text description cannot definitively identify a living thing, so Gemma is instructed to offer possibilities rather than certainties, say gently when a description is too vague and ask clarifying questions, suggest what visual details to check next time, and include a safety and leave-no-trace reminder.
Graceful degradation: if Ollama is not running, the app shows a friendly message explaining how to start it, and everything else (quests, timer, journal) keeps working.
Why Does Open Innovation Matter?
Using an open-weight model changed what I could promise users:
Privacy: observations and field notes never leave the user's machine. There is no tracking, no account and no telemetry.
Zero cost: no API keys, credit cards or token bills. That matters for students and hobbyists, who are exactly the audience for this project.
Inspectable and extensible: anyone can see how the model is used, swap in a different Gemma size (gemma2:9b if their hardware allows), or fork the project and adapt it for their own region or ecosystem.
Sustainability: it keeps working as long as the user has Ollama, with no dependency on a vendor's pricing or availability.
A closed cloud API could have given me similar answers, but it would have required keys, billing, and sending people's personal observations to a third party. Open weights let me build something people can actually run for free and trust with their notes.
My Agent Session
Prize Categories
<!-- List every partner category you are entering, or remove this section. For example, if there is a Gemma or Ollama category, list it here. --> <!-- Team Submissions: Please pick one member to publish the submission and credit teammates by listing their DEV usernames directly in the body of the post. --> <!-- Thanks for participating! -->
Top comments (0)