This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
What if AI helped you spend less time with AI?
That was the idea behind WildMiles.
WildMiles is a local-AI outdoor adventure app that turns a normal walk or run into a real-world quest.
You choose:
- how long you want to run
- how difficult it should be
- what kind of adventure you want
Then the AI generates a quest with challenges such as:
- 🏃 movement tasks
- 🧭 exploration goals
- 📸 photo challenges
- 🏁 finish challenges
Once the run starts, WildMiles tracks your route with GPS, records where challenges were completed, awards XP, and can verify photo challenges using a local multimodal AI model.
The core idea is:
AI creates the adventure. The real world becomes the interface.
Demo
WildMiles is designed as a mobile-first experience.
A typical flow looks like this:
- Generate a quest
- Start the run
- Complete challenges outdoors
- Track the route and checkpoints
- Verify photo proof with AI
- Finish the run and generate a recap
During one test run, WildMiles recorded:
- Distance: 1.49 km
- Time: 13:59
- Average pace: 9:21/km
- GPS accuracy: ±6 m
- Quest progress: 3/4
Screenshots
Quest Setup |
Generated Quest |
Live GPS Run |
Quest Progress |
Code
vaibhavkrishanyadav
/
wildmiles
An open-source AI running adventure app that gets you off the screen, gives you outdoor missions, verifies photo challenges locally, and rewards you with XP and badges.
🌿 WildMiles
AI creates the quest. You create the miles.
WildMiles is a local-AI outdoor adventure app that turns an ordinary walk or run into a real-world quest.
Instead of keeping users inside another AI interface, WildMiles uses AI to give them a reason to leave the screen behind.
Choose a duration, difficulty, and adventure mode. WildMiles generates outdoor challenges, tracks the run with GPS, records challenge checkpoints, verifies photo challenges with a local multimodal model, awards XP, and can generate an AI-written post-run recap.
✨ What WildMiles Does
A WildMiles session looks like this:
- Choose a run duration.
- Select a difficulty.
- Pick an adventure mode.
- Let local AI generate a quest.
- Start the run.
- Complete challenges outside.
- Track the route and challenge locations.
- Verify photo proof with local AI.
- Earn XP and progress through levels.
- Generate an adventure recap after the run.
WildMiles transforms a normal run into a…
WildMiles is built with:
- Next.js
- React
- TypeScript
- Tailwind CSS
- Ollama
- Gemma 3 4B
- Leaflet
- OpenStreetMap
- Browser Geolocation API
How I Built It
The AI layer uses Gemma 3 4B running locally through Ollama.
Gemma powers three main parts of WildMiles:
1. Quest Generation
The model generates structured outdoor challenges based on duration, difficulty, and adventure style.
2. Photo Verification
For photo challenges, WildMiles sends the uploaded image to Gemma and asks whether it satisfies the challenge.
This makes the AI act as a lightweight real-world quest referee.
3. Adventure Recap
After the run, Gemma receives the run details such as distance, time, pace, completed challenges, and checkpoints, and turns them into a short adventure recap.
The rest of the application stays deterministic.
For example:
- GPS calculations → application code
- XP → application code
- badges → application code
- challenge state → application code
- creativity and interpretation → AI
That became one of the main principles of the project:
AI handles ambiguity. Code handles rules.
The live route is tracked with the browser Geolocation API and displayed using Leaflet and OpenStreetMap.
I also added GPS filtering to reject inaccurate readings, tiny movements caused by drift, and unrealistic speed jumps.
Why Does Open Innovation Matter?
Open innovation matters a lot for WildMiles because the app works with potentially personal information:
- photos
- outdoor activity
- route data
- quest history
Using an open-weight model through Ollama means the AI can run locally on the user's machine instead of depending entirely on a hosted AI API.
That gives the project several benefits:
- more control over how data is processed
- no API key required for every request
- no per-request model cost
- freedom to experiment with prompts and models
- the ability to keep AI inference local
WildMiles is not fully offline because OpenStreetMap tiles and some mobile testing workflows still need connectivity, so I describe it as local-first.
For me, that is one of the most interesting parts of the project: AI is powerful enough to create and verify the adventure without needing to be the center of the experience.
My Agent Session
I did not publish a DevRelay session for this project.
The app was built iteratively, starting with basic quest generation and then adding:
- structured AI quests
- XP and progression
- multimodal photo verification
- live GPS tracking
- GPS filtering
- OpenStreetMap routes
- challenge checkpoints
- AI adventure recaps
- mobile testing
Prize Categories
Best Use of Gemma
WildMiles uses Gemma 3 4B as the core AI model for:
- quest generation
- multimodal photo verification
- post-run adventure recaps
Gemma is not an optional feature in WildMiles. It is what makes every adventure dynamic.
Final Thought
Most AI apps try to keep you engaged.
WildMiles tries to do something different:
Generate the adventure, then get out of the way.
For a challenge called Touch Grass, that felt like exactly the right goal.
🌿 AI creates the quest. You create the miles.
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.