This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
🎯 What I Built
For Hacktoberfest 2026 Week 1, I built GrassQuest, an AI-powered outdoor mission generator designed to help people spend less time on screens and more time outside.
The idea is simple:
Tell GrassQuest how much time you have, what kind of outdoor activity you prefer, and your energy level — and it creates a short outdoor mission for you.
Users can choose from different time durations, outdoor activities, and energy levels. GrassQuest then generates a personalized adventure with a title, duration, five simple steps, and a safety reminder.
The user can then put their phone away, go outside, complete the challenge, and return afterward to record a reflection in their personal journal.
The goal is for the screen to be the shortest part of the experience.
🤖 Why Open-Weight AI?
Open innovation is at the heart of GrassQuest.
GrassQuest uses Gemma, an open-weight AI model, through Ollama for local mission generation.
Instead of depending entirely on a closed AI API, I built the application around an open-weight model that I can run locally and control through my own prompts and application logic.
This gives the project:
- 🔓 More control over the AI
- 💻 Local inference
- 🧩 The ability to experiment with different models
- 💰 Less dependence on paid API calls
- 🛠️ More control over prompting and AI behavior
For this challenge, I wanted the AI itself to be an important part of the application rather than simply adding AI as a feature on top of an existing idea.
🌿 How GrassQuest Works
The user selects three preferences:
⏱️ Time
- 15 minutes
- 30 minutes
- 45 minutes
- 60 minutes
🌳 Activity
- Nature
- Walking
- Photography
- Mindfulness
- Exploration
⚡ Energy
- Relaxed
- Normal
- Active
These preferences are sent to the GrassQuest backend, which creates a structured prompt for Gemma.
Gemma is instructed to return a structured outdoor mission containing:
- A mission title
- Duration
- Five steps
- A safety reminder
The application then presents the result as an Adventure Plan.
🛡️ Safety Validation
Because GrassQuest encourages people to go outside, I didn't want the AI to generate unrestricted activities.
I added a safety validation layer to the backend.
Generated missions are checked for potentially unsafe instructions such as:
- Climbing
- Swimming
- Crossing roads
- Entering private property
- Touching wildlife
- Touching unknown plants
- Eating wild plants
If an AI-generated mission fails the safety check, GrassQuest uses a predefined safe fallback mission instead.
This creates an additional safety layer between the AI output and the user.
🔌 AI + Fallback System
I also wanted GrassQuest to remain useful when the AI model isn't available.
The application therefore has a fallback mission system.
When Gemma/Ollama is available:
User → GrassQuest → Gemma → Safety Validation → Outdoor Mission
If the AI is unavailable:
User → GrassQuest → Safe Fallback Engine → Outdoor Mission
This means the core outdoor experience doesn't have to completely stop when the AI service isn't running.
📖 Outdoor Journal
After completing an adventure, users can write a reflection.
GrassQuest stores these reflections locally in the browser, allowing users to build a simple record of their outdoor experiences.
The experience becomes:
Choose → Generate → Go Outside → Complete → Reflect
The journal isn't designed to keep users scrolling. It's there to help them remember the experiences they had away from the screen.
🧑💻 Tech Stack
GrassQuest was built with:
- React
- JavaScript
- Tailwind CSS
- Node.js
- Express
- Gemma
- Ollama
- localStorage
- Git & GitHub
📱 Built Around the "Touch Grass" Idea
There is an interesting challenge when building an application about spending less time on screens:
The application itself is a screen.
So I designed GrassQuest around a short interaction.
The user:
- Chooses their preferences.
- Generates a mission.
- Reads the instructions.
- Puts the phone away.
- Goes outside.
- Completes the mission.
- Returns to record their experience.
The objective isn't to keep someone inside the application.
It's to give them a reason to leave it.
💡 Why I Built This
Technology is extremely good at capturing our attention.
I wanted to experiment with the opposite idea:
What if AI helped us use our screens less?
Instead of generating another recommendation for something to watch or another thing to scroll through, GrassQuest generates a reason to step outside.
A 15-minute walk, a short nature observation session, or a simple mindfulness activity can become a small step toward spending more time in the physical world.
🏆 Hacktoberfest Categories
GrassQuest is especially relevant to:
🌿 Touch Grass
The core purpose of GrassQuest is to use technology to encourage people to spend time outdoors.
🤖 Best Use of Gemma
Gemma is used as the open-weight model for generating personalized outdoor missions.
The project combines Gemma with:
- Structured prompting
- JSON output
- Application-level safety validation
- Fallback logic
- A React user interface
This makes the open-weight model part of the core application workflow.
🚀 What I Learned
Building GrassQuest taught me that integrating AI into an application is about much more than sending a prompt to a model.
I had to think about:
- Prompt design
- Structured AI output
- Safety validation
- Invalid model responses
- AI availability
- Fallback systems
- User experience
- Local storage
- Responsive design
- Frontend/backend architecture
- Using AI for a real-world purpose
The biggest lesson was:
AI should support the experience, not become the experience.
🔮 What's Next?
Some features I would like to explore in the future include:
- 📍 Location-aware missions
- 🌦️ Weather-aware recommendations
- 🐦 Nature and birding missions
- 📱 Progressive Web App support
- 🗺️ Outdoor route suggestions
- 🔄 More interchangeable open-weight models
- 📊 Outdoor activity statistics
- 🔐 More privacy-focused local-first features
The long-term goal is to make GrassQuest something people can use quickly before putting their phone away.
🌐 Try GrassQuest
🚀 Live Demo
💻 Source Code
🎥 Demo Flow
The GrassQuest experience is:
Select your preferences → Generate an AI mission → Start the adventure → Go outside → Complete the mission → Reflect in your journal
The project was built specifically around the Hacktoberfest Week 1 theme:
Touch Grass.
And that's exactly what I want GrassQuest to encourage.
❤️ Final Thoughts
This project started with a simple question:
Can we use AI to help people spend less time using technology?
GrassQuest is my attempt at answering that question.
Instead of asking AI what to watch next, what to read next, or what to scroll through next, GrassQuest asks:
"What can I do outside right now?"
🌿 Generate less screen time. Experience more real life.

Top comments (0)