Trail Buddy is an offline trail helper built so you never have to trust its AI
Description and use
Trail Buddy is an offline trail helper that profiles the device, selects a small open‑weight model, and answers outdoor questions from a bundled notes pack, while clearly stating it is not a safety authority.
Problem
Hikers need reliable, offline answers to safety questions without trusting an external AI service.
Outcome
Trail Buddy delivers offline Q&A in ~20 s, prints source notes, and respects device limits, but is not a medical authority and has not been field‑tested on mobile or non‑Linux platforms.
Workflow
- Detect device resources (RAM, CPU, GPU, storage, battery).
- Generate a table of candidate open‑weight models and quantizations that fit.
- Select the best model based on current free RAM.
- Load the selected model via llama.cpp/llama‑cpp‑python.
- Search the 27‑note pack with BM25 for relevant content.
- If a note matches, feed it to the model for a summary.
- Print the summary followed by the verbatim note labeled "trust these over the summary".
- If no note matches, return a notes‑only answer or a safety banner.
- Ensure network is disabled during inference (unshare -rn).
Evidence
Trail Buddy is a command-line tool for hikers. It looks at the device it is running on (RAM, CPU, GPU, free storage battery), picks an open-weight model and quantization that fits, and answers outdoor questions with no signal, using a tiny bundled notes pack
It does two jobs. First, it reads the device (RAM, CPU, GPU, free storage, battery) and picks an open-weight model and quantization that will fit. It prints a table of nine candidates and says why the others were ruled out.
Second, it answers outdoor questions with the network off. It searches a small bundled pack of 27 short notes ... and prints a short summary. Then it prints the original note, word for word, right under it.
It is a memory aid, not a safety authority, and it says so after every answer.
The recording is a real run, and "offline" in it is enforced, not promised. The demo script runs every ask under unshare -rn, a Linux network namespace with no route out.
- Record date: 2026-10-12T06:40:57.609Z