This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What if AI's job wasn't to keep us looking at the screen — but to give us something worth looking at outside?
For the Touch Grass challenge, I built Sidewalk Safari, a screen-light outdoor quest generator powered by local Gemma AI.
The idea is simple:
AI creates the adventure. You go live it. 🌿
What I Built
Sidewalk Safari generates short, age-appropriate outdoor observation missions that encourage people — especially kids and families — to explore their surroundings instead of spending more time inside an app.
You choose:
- 🌳 Outdoor setting
- ⏱️ Available time
- 👦 Age group
- 🍂 Season
- ☁️ Optional weather note
Then Gemma 3 4B, running locally through Ollama, creates a small outdoor adventure.
For example:
FIND SHAPES
Locate five different leaf shapes scattered across the ground and draw them in your mind's eye.
COUNT THINGS
Estimate the number of different shades of brown you can observe in fallen leaves.
The missions encourage simple actions:
FIND → COMPARE → COUNT → NOTICE
And once the safari is ready, the app tells you to put the phone away.
🌱 Why Sidewalk Safari?
A lot of AI products are designed to keep you interacting with the screen.
I wanted to reverse that.
Instead of:
AI → Screen → More Screen Time
PLAN
↓
GENERATE
↓
PUT PHONE AWAY
↓
GO OUTSIDE
↓
OBSERVE
↓
EXPLORE
The screen is only the starting point.
The goal is what happens after you stop looking at it.
Demo
Code
The entire project is open source:
GitHub:
Sidewalk Safari
The project is designed to run locally using Ollama and Gemma.
Tech Stack
- React
- TypeScript
- Vite
- Python
- FastAPI
- Ollama
- Gemma 3 4B
- Browser Storage
How I Built It
React + Vite
↓
FastAPI
↓
Ollama
↓
Gemma 3 4B
↓
JSON Mission Output
↓
Validation + Safety Rules
↓
Safe Mission Pack
Gemma doesn't directly control the application.
It proposes missions.
The application then decides whether those missions are acceptable.
🤖 Gemma Proposes. Code Validates.
This was one of the most important design decisions in Sidewalk Safari.
A language model can generate something that sounds reasonable but isn't necessarily appropriate for the selected age, time limit, or environment.
So generated missions go through validation for:
- Age appropriateness
- Time budget
- Allowed outdoor activities
- Safety rules
- Mission structure
- Required safety guidance
The system uses constrained JSON output so the backend receives structured mission data rather than arbitrary text.
The principle is:
Don't blindly trust the model.
If a generated pack doesn't pass validation, generation is retried.
And if bounded generation attempts still fail, Sidewalk Safari falls back to a handwritten backup mission pack rather than leaving the user with a broken experience.
This means the AI is responsible for creativity, while the application remains responsible for safety and control.
🔒 Local AI by Design
One of the biggest reasons I chose Gemma + Ollama was that Sidewalk Safari doesn't need a cloud AI endpoint to generate its missions.
That gives the project some important properties:
No cloud AI endpoint :The mission-generation model can run on the user's own computer.
No accounts :The application doesn't require users to create an account just to go outside.
No exact-location tracking :I deliberately avoided requiring precise location data. Even the weather field is user-entered rather than automatically sending coordinates to a weather service.
Saved packs can work offline :Once a safari pack has been saved, it can be played without a network connection.
🛡️ Safety Wasn't an Afterthought
Because this project is designed for children and families, safety couldn't simply be left to an LLM prompt.
For younger age groups, Sidewalk Safari includes adult-supervision guidance.
The application itself generates the safety guidance and performs validation rather than relying on Gemma to make the final safety decision.
This separation was intentional:
Gemma generates.
Code validates.
The user explores.
Why Does Open Innovation Matter?
This is the part of the project I think matters most.
I could have built Sidewalk Safari around a closed cloud AI API.
But that would have worked against the problem I was trying to solve.
A product whose purpose is to help someone disconnect from the internet shouldn't necessarily depend on an internet connection just to generate the experience.
Using an open-weight model with local inference makes a different design possible.
Local AI changes the relationship between the model and the user.
Instead of:
User
↓
Internet
↓
Cloud AI
↓
Response
Sidewalk Safari can work as:
User
↓
Local application
↓
Local Gemma
↓
Outdoor mission
↓
Phone away
That means developers can experiment with:
- Different open-weight models
- Different prompts
- Different validation rules
- Different age groups
- Different outdoor activities
- Fully local inference
- Privacy-preserving experiences There's also no need to treat the AI provider as a permanent dependency.
That's what open innovation made possible for this project:
AI that can help someone disconnect from the internet instead of giving them another reason to stay connected to it.
What I Learned Building It
One thing this project taught me is that adding AI is often the easy part.
Designing boundaries around AI is harder.
During development, I encountered cases where generated output:
- Didn't contain the required safety language
- Exceeded the intended mission text limits
- Failed time-budget validation
Instead of simply changing the prompt and hoping for better results, I moved important guarantees into application code.
That led to a more robust architecture:
LLM for generation → deterministic code for constraints.
I also intentionally kept features out of the first version.
No:
- Social feed
- Leaderboards
- Accounts
- Maps
- Location tracking
- Photo verification
- Cloud database
The goal wasn't to build another giant platform.
The goal was to build a small tool that gets out of its own way.
Prize Categories
This project is submitted for:
- Best Use of Gemma
- Best Use of ElevenLabs
ElevenLabs was used to create the narration for the project demonstration video.
Gemma is at the core of Sidewalk Safari's mission-generation system, running locally through Ollama.
🌱 Final Thought
The best AI experience isn't always the one that keeps you on the screen.
Sometimes...
it's the one that gives you a reason to leave it.
Sidewalk Safari
The AI creates the adventure. You go live it. 🌿



Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.