This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
What if we used AI for something unusual?
Not to make us stay online longer.
Not to generate another endless feed.
Not to help us spend another hour staring at a screen.
What if AI simply helped us decide what to do after we put the screen down?
That's the idea behind Grounded.
Grounded is a local AI outdoor companion that creates small, personalized outdoor missions based on three things:
- ⏱️ How much time you have
- 📍 Where you're going
- 💭 How you're feeling
Instead of giving the user another digital activity to consume, Grounded creates a reason to step outside.
For example, someone can enter 20 minutes, a college campus, and "stressed." Grounded then generates a realistic outdoor mission, three things to notice or explore, a phone-free challenge, and a reflection question.
The goal isn't to make someone interact with Grounded for hours.
The goal is for Grounded to become unnecessary as quickly as possible.
The screen is the starting point. The real experience happens outside.
Demo
Grounded currently runs locally on my laptop.
The flow is simple:
- Choose how much time you have.
- Enter where you're going.
- Select your current mood.
- Grounded generates a personalized outdoor mission.
- Take the mission outside.
- Put the phone away.
The interface also makes it clear that the AI is running locally with Gemma 3 4B through Ollama.
The generated mission is not hardcoded. It is produced by the local Gemma model from the user's inputs.
Code
The complete source code is available on GitHub:
https://github.com/JargaviJadeja/outdoor-ai-hacktoberfest-2026
The repository contains the Flask backend, frontend, requirements, README, and setup instructions.
How I Built It
I wanted the AI itself to be part of the open-source story, so I chose to run an open-weight model locally instead of building the core experience around a closed cloud AI API.
The stack is intentionally simple:
- Python — application logic
- Flask — backend and API routes
- HTML/CSS/JavaScript — frontend
- Ollama — local model runtime
- Gemma 3 4B — open-weight AI model
The application takes the user's available time, location, and mood and sends that context from the Flask backend to Gemma running locally through Ollama.
Gemma generates four parts:
Mission — a realistic outdoor activity based on the available time and environment.
Notice & Explore — three things to notice, observe, hear, smell, or explore.
Phone-Free Challenge — a small challenge encouraging the user to keep their phone away.
Reflection — a question to think about after completing the mission.
I deliberately kept the architecture small. The challenge wasn't to build another huge AI platform. It was to build one focused experience where open AI actually serves the theme.
Why Does Open Innovation Matter?
This is where Grounded became more interesting to me.
Grounded could have been built by sending every request to a closed AI API.
Instead, I wanted to see what happens when the AI can run locally.
That changes the relationship between the user and the AI.
The user's context doesn't need to leave their machine just to generate a simple outdoor idea.
It also gives the developer more control. The model can be swapped, prompts can be changed, and the application can be experimented with without making the entire experience dependent on one proprietary AI service.
There is also something fitting about using local AI for this particular project.
Grounded is designed to help people disconnect from the internet and their screens.
So I wanted the AI itself to be capable of working without a cloud AI API.
Open innovation makes that possible.
And that's the part I like most about this project: the technology is helping the user move away from technology.
The ideal outcome isn't another hour spent inside Grounded.
It's closing the page and going outside.
Prize Categories
Best Use of Gemma
Grounded uses Gemma 3 4B as its local open-weight AI model through Ollama.
The model is responsible for generating the personalized outdoor missions, things to notice, phone-free challenge, and reflection question based on the user's available time, location, and mood.
I chose local Gemma specifically because running the model locally supports the project's local-first and screen-minimizing idea.
🌿 Final Thought
We usually measure AI by how much it can help us do while we're sitting in front of a computer.
For this project, I wanted to measure it differently.
Can AI help us decide what to do when we stop looking at the computer?
That's Grounded.
🌿 Less scrolling.
👀 More noticing.
📵 Less screen.
🌎 More world.
Built for the Hacktoberfest Open-Source AI Challenge — Week 1: Touch Grass.



Top comments (0)