DEV Community

Abhishek J N
Abhishek J N

Posted on

NatureQuest AI: An Open-Weight AI That Sends You Outside

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

NatureQuest AI is an AI-powered outdoor discovery companion that turns a few spare minutes into a mindful real-world exploration.

Tagline: "A little less scrolling. A little more exploring."

Modern algorithmic feeds are engineered to maximize screen time, pulling us into infinite digital doomscrolls. NatureQuest AI inverts this dynamic: instead of keeping users trapped in an open-ended chatbot conversation, it uses open-weight AI to provide an immediate, practical reason to put the phone away and step outside.

Users choose their immediate surroundings (neighborhood street, public park, campus, garden, or trail), available time (10, 15, or 30 minutes), difficulty, and sensory interests (plants, birds, trees, weather, mindful observation).

NatureQuest AI creates a structured, achievable outdoor micro-mission featuring:

  1. Actionable Field Tasks: Achievable without purchasing equipment; practical whether you live in Bengaluru, London, or Tokyo.
  2. Sensory Observation Tips & Safety Reminders: Clear reminders on keeping footing safe and respecting wildlife.
  3. Distraction-Free "Outdoor Mode": A high-contrast, one-task-at-a-time checklist with a progress tracker and an explicit protocol to silence notifications and lock the device between tasks.
  4. Post-Walk Reflection & Field Notes: A contemplation question with personal field notes saved privately in the browser (localStorage)โ€”zero user accounts, zero tracking cookies, and zero personal data harvesting.

The idea is simple: technology should sometimes help us put our phones away.

Demo

Screenshots

Code

GitHub Repository:

NatureQuest AI ๐ŸŒฟ

"A little less scrolling. A little more exploring."

License: MIT Hacktoberfest Model Python

NatureQuest AI is an open-source, distraction-free outdoor companion application built for the Hacktoberfest Open-Source AI Challenge Week 1: "Touch Grass".


1. Project Overview & Problem Statement

Modern algorithms are engineered to maximize screen time, capture attention, and keep users indoors scrolling infinite feeds. This screen saturation directly contributes to digital fatigue, sedentary routines, and detachment from immediate surroundings.

NatureQuest AI flips this dynamic: Instead of trapping you in an open-ended chatbot conversation, NatureQuest AI uses Google's open-weights Gemma model to generate a finite, structured, actionable micro-mission tailored to your immediate environment (parks, gardens, university campuses, or neighborhood streets in India and worldwide). Once your mission is ready, the app switches to an Outdoor Mode that prompts you to silence notifications, slip your phone into your pocket, and explore the living world with your actual senses.


2. Key Features

โ€ฆ

How I Built It

I built NatureQuest AI using Python, Flask, HTML, CSS, and Vanilla JavaScript, with Google's open-weight Gemma model (gemma-3-4b-it) serving as the core engine for generating outdoor missions.

Architecture & Gemma Integration

  • Server-Side AI Module (ai_service.py): Integrates with the official google-genai Python SDK. A strict system prompt enforces a validated JSON schema contract containing mission_title, three_to_five_tasks, observation_tips, one_reflection_question, safety_reminders, and low_screen_mode_instruction.
  • Configurable Models: The model identifier is set through the GEMMA_MODEL_ID environment variable (compatible with gemma-3-4b-it, gemma-2-9b-it, or gemma-3-12b-it).
  • Status Indicator & Honest Fallback: The application features a dedicated /api/model-status endpoint. When no API credentials are present, or during network disruptions, it serves a pre-designed, clearly labeled sample mission. It never misrepresents fallback content as live model output.
  • Frontend Experience: Designed with an editorial nature color palette (deep forest green, warm ivory, soft sage, and earthy amber accents) and responsive layouts.
  • Automated Testing: Tested using pytest (tests/test_app.py) covering health checks, input parameter validation, schema verification, fallback labeling, and mocked Gemma responses. All 10 unit and integration tests pass without requiring a live API key.

Why Does Open Innovation Matter?

An outdoor companion should not require an expensive proprietary model or an opaque, unchangeable AI system to generate simple activities.

Using an open-weight model gives developers the opportunity to inspect the available model options, adapt the generation instructions, compare alternatives, and potentially run inference on their own hardware.

This version uses hosted Gemma inference, so it is not fully offline. However, the model-based design makes it possible to explore local inference as a future step, which could reduce dependence on connectivity and provide users with greater control over their data.

Most importantly, the AI is not designed to keep users chatting indefinitely. It creates a finite mission and encourages them to leave the screen behind.

What I Learned

Building this project provided several key takeaways:

  1. Constraining Generative Models for the Real World: Crafting prompt boundaries to prevent the model from inventing real-time weather conditions, claiming botanical identifications, or assuming expensive outdoor gear was crucial for user trust.
  2. Defensive Schema Parsing: Open-weight models benefit from explicit schema enforcement on the backend, ensuring JSON output is sanitized and typed before reaching client templates.
  3. Designing for Low Screen Time: It was refreshing to design a frontend whose explicit goal is to be put away. Outdoor Mode emphasizes high-contrast text, clear progress steps, and minimal interaction so attention stays on the physical environment.
  4. Resilient Production Workflows: Configuring automated tests with pytest and deploying via Gunicorn on Render demonstrated how quickly an idea can go from concept to a production-ready open-source utility.

Prize Categories

  • Best Use of Gemma
  • Best Use of Render

Future Improvements

  • Local, offline inference with a compatible open-weight model (via Ollama or llama.cpp on edge devices).
  • Optional nature journals and reusable mission history.
  • Evidence-based regional nature guides and seasonal checklists.
  • Audio-guided missions using the Web Speech API for zero screen touches.
  • More accessible activities and community-created missions.

Thanks for checking out NatureQuest AI! ๐ŸŒฟ

Top comments (0)