DEV Community

Kunal Gupta
Kunal Gupta

Posted on

NatureQuest 🌿: I Built a Local AI That Turns Curiosity Into Outdoor Adventures

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

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

What I Built:

NatureQuest is a local AI-powered nature exploration app designed to turn free time into small outdoor adventures.
The idea is simple: instead of spending more time scrolling through a screen, what if an app could give you a reason to step outside, notice your surroundings, and discover something new?

NatureQuest has two main features:-

🧭 Personalized Outdoor Quests:

Users can generate outdoor mini-adventures based on their available time, setting, interests, and energy level. Each quest includes three missions, a safety reminder, and a reflection prompt. Users can mark missions as complete and revisit their saved adventures through the journal.

📸 Curiosity Capture:

  • Sometimes, you notice something interesting outdoors but don't know much about it. Curiosity Capture lets you upload a photo of a plant, mushroom, insect, rock, or another subject and explore it using a local AI model.
  • The generated discovery includes visible observations, an educational fact, an explanation of what cannot be identified confidently, and a follow-up outdoor quest.
  • For example, a photo can become the starting point for observing leaf patterns, comparing rock textures, or noticing how different organisms interact with their environment.
  • The goal is not just to identify something, but to encourage curiosity and further exploration

Demo:

Screenshots from the working application:

Outdoor Quest Generator

NatureQuest quest generator

Curiosity Capture

NatureQuest photo discovery

Adventure Journal

NatureQuest adventure journal

Video demo: [https://drive.google.com/file/d/17DcFQxwH9okToo4M1pp7rBj5_gnH4W4q/view?usp=sharing]

The demo shows personalized outdoor quest generation, AI-powered Curiosity Capture, and the adventure journal popup.

NatureQuest currently runs locally. Instructions for setting it up on your own machine are available in the repository README.

Code:

GitHub repository:
https://github.com/kunalGupta5780/NatureQuest

The repository includes the FastAPI backend, frontend files, installation instructions, and screenshots.

How I Built It:

  1. I built NatureQuest using Python, FastAPI, HTML, CSS, and JavaScript.
  2. For the AI component, I used Gemma 3 4B through Ollama, which allows the model to run locally on my laptop.

The backend has two main API endpoints:

/api/quest generates a personalized outdoor adventure using Gemma and provides a rule-based fallback when the local model is unavailable.
/api/discover accepts an image and a curiosity note, sends them to the local model, and returns a structured discovery report.

The frontend displays the generated quests, mission completion states, photo discoveries, and an adventure journal that saves quest details in browser storage.

I also added safeguards for image upload types and file size, along with targeted corrections for issues encountered during testing.

Testing revealed that AI-generated answers can still contain scientific mistakes. For example, an illustrated chart grouped spiders with insects. I added a clarification safeguard because spiders are arachnids, not insects. I also adjusted follow-up quest handling to discourage unnecessary collection of natural objects.

These safeguards are targeted improvements, not a guarantee that every AI response will be correct. Curiosity Capture communicates uncertainty, but users should still verify important scientific claims.

Why Does Open Innovation Matter?

  1. Open innovation made it possible for me to build an AI-powered application around a model I could run and experiment with on my own machine.
  2. Using Gemma through Ollama gave me control over the model interaction without needing to send image-analysis requests to a hosted AI API. It also let me experiment with prompts, inspect the generated responses, and add application-level safeguards when testing exposed problems.
  3. Another important part of the project is its fallback behavior. The outdoor quest generator can still produce a basic quest when Ollama is unavailable, even though photo-based discovery requires the local AI service.
  4. This project helped me understand that building with AI is not just about generating an answer. It also involves handling errors, communicating uncertainty, validating inputs, and making the application useful when the AI is unavailable.
  5. Open innovation gave me room to experiment with these decisions and build something I can continue improving.

My Agent Session:

I don't have a shareable DevRelay session link to include, so I'm leaving this optional section out.

Prize Categories:

Best Use of Gemma

devchallenge #hf26challenge #hacktoberfest

Top comments (0)