TrailBuddy: The AI That Disappears
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass.
What I Built
TrailBuddy turns a few choices—your mood, available time, activity, and preferred difficulty—into a personalized outdoor adventure.
It isn’t meant to be an AI companion you keep checking while you’re outside. Gemma designs a short sequence of sensory missions: listen for a sound you usually miss, notice a pattern, or explore your surroundings with curiosity. TrailBuddy then asks whether you’re going out, shows a closing scene where a bird takes off, and invites you to put your phone away.
The idea behind it is simple:
“What if the best thing an AI could do for you was make you stop looking at it?”
After generating and preparing an adventure, you can continue through its missions offline. Progress and an optional reflection are saved in your browser. Generating a new adventure still requires the configured backend and Ollama/Gemma to be available.
Demo
Watch the TrailBuddy screen recording
Code
How I Built It
TrailBuddy uses Gemma 3 (gemma3:4b) through Ollama for local adventure generation. The React and Vite frontend sends the selected preferences to a Node.js and Express backend, which requests a structured adventure from the model and validates the response before showing it.
The frontend presents the generated missions one at a time in Phone Away Mode. The closing scene uses Three.js, and the production app includes a service worker that caches the application shell and assets for a prepared offline adventure. Local progress and reflections are stored in browser storage.
Why Does Open Innovation Matter?
The open-weight Gemma model and local Ollama setup let me build around a model I can run and experiment with on my own machine. I could shape the prompt for a specific purpose—an outdoor experience designer—and validate the result as structured missions instead of building another general-purpose chat interface.
Local inference also means the default setup doesn’t need a cloud LLM API to generate an adventure. The offline flow goes further: once an adventure is prepared, the user can leave the AI and backend behind and continue with the saved missions. That distinction matters: a new adventure still needs the configured model and backend.
My Agent Session
Prize Categories
- Best Use of Gemma
Top comments (0)