DEV Community

Prarthana Sharma
Prarthana Sharma

Posted on

TrailBuddy: less scrolling, more fresh air

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass

What I Built

I had a simple idea for this challenge: if I have a free hour and want to get outside, why does deciding what to do sometimes take longer than the walk?

TrailBuddy is a small web app that fixes that. You tell it where you are (even just "nearby"), how much time you have, and what you feel like doing, such as birds, a run, gardening or a slow walk. It gives you three outdoor ideas that fit your hour. Then you close the tab and go.

It is made for students, busy people, and anyone who keeps meaning to go outside but loses the time to scrolling.

Demo

TrailBuddy runs locally on your own machine, so there is no hosted link.

[Add your screenshots or a short screen recording here]

Code

TrailBuddy

TrailBuddy turns a little free time into a reason to step outside. Share a neighborhood, your mood, and how long you have; it suggests three low-fuss activities and what to bring. Pick one, put the phone away, and go.

Built for the Hacktoberfest Week 1 “Touch Grass” challenge. Read the DEV post.

Why open AI?

TrailBuddy uses Qwen 2.5 3B through Ollama, so suggestions are generated on your own device instead of being sent to a hosted AI service. The model can be swapped with the TRAILBUDDY_MODEL setting, and its prompt is part of the source code. That keeps the experience inspectable and adaptable, with no API key or per-request AI bill.

After Python packages and the model have been downloaded, the app and model can run without an internet connection. If Ollama is not installed or running TrailBuddy clearly switches to a small set of built-in…

How I Built It

  • Backend: FastAPI (Python)
  • Frontend: plain HTML, CSS and JavaScript, with a simple form and result cards
  • Open model: Qwen 2.5 (3B) running locally through Ollama
  • Offline fallback: if Ollama is not running, the app shows a set of built in ideas instead of failing, and labels them "Offline ideas"

When you press Find my outside hour, the app builds a short prompt from your location, time and mood, sends it to the local model, and asks for the answer as JSON. The page then turns that JSON into three cards with a title, a short description, a duration and what to bring.

Things I learned along the way:

  • Small models sometimes return messy JSON, so the app needs to handle bad output without breaking.
  • The first request is slow because the model has to load into memory. After that it is much faster.
  • A fallback is worth building early. It made testing much easier.

Why Does Open Innovation Matter?

Because the model runs on my laptop:

  • Your location and interests never go to a server you do not control.
  • There is no API key and no cost per request.
  • It keeps working after setup even with weak or no signal, which is useful when you are heading outside.
  • I can read and change the prompt, and swap the model for a different one by editing a single line.

I am not claiming a 3B model beats a big hosted one on answer quality. For a small "what should I do with my hour" tool, though, local and open was the better fit.

Limitations

TrailBuddy does not use live maps or weather, and its ideas are not verified trail recommendations. Check local conditions before you head out.

Field Test

[Write 2 to 4 honest sentences here after you try it: what you asked, what the model suggested, what you actually did outside, and what worked or did not.]

Top comments (0)