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
Curiosity Capture
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:
- I built NatureQuest using Python, FastAPI, HTML, CSS, and JavaScript.
- 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?
- 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.
- 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.
- 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.
- 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.
- 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



Top comments (0)