DEV Community

Vaibhav Krishan Yadav
Vaibhav Krishan Yadav

Posted on

WildMiles — AI Creates the Quest. You Create the Miles.

Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass Submission 🌿

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:

  1. Generate a quest
  2. Start the run
  3. Complete challenges outdoors
  4. Track the route and checkpoints
  5. Verify photo proof with AI
  6. 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

GitHub logo 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:

  1. Choose a run duration.
  2. Select a difficulty.
  3. Pick an adventure mode.
  4. Let local AI generate a quest.
  5. Start the run.
  6. Complete challenges outside.
  7. Track the route and challenge locations.
  8. Verify photo proof with local AI.
  9. Earn XP and progress through levels.
  10. 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.