This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass TrailPacer AI is an offline-first, local AI outdoor workout companion designed to do one thing ruthlessly well: get you off your screen and out into the dirt in under 15 seconds.
Modern fitness apps often demand constant screen time—tracking infinite metrics, social feeds, and requiring reliable cellular connectivity that disappears the moment you hit a real trail.
TrailPacer AI flips this dynamic. It leverages lightweight open-weight models running 100% locally on your machine to synthesize structured, phased outdoor workouts (Trail Walk, Fartlek Run, Rucking, and Interval Sprints) in under 3.5 seconds.
Once generated, TrailPacer switches to an outdoor Heads-Up Display (HUD) with high-contrast timers, target RPE (Rate of Perceived Exertion) gauges, terrain cues, and offline audio chimes—allowing you to pocket your phone, listen for pace transitions, and focus on the trail ahead.
http://localhost:8000 with 0 external cloud dependencies.
(Include your repo link, screenshots of the dashboard and HUD pacer, or a quick Loom / GIF demo here)
TrailPacer AI is an offline outdoor workout companion powered by local AI. It synthesizes structured, adaptive training sessions for trail runners, hikers, and outdoor fitness enthusiasts in under 5 seconds—with zero internet connectivity required and minimal screen interaction time (< 15 seconds).
trail_walk)
Key Project Architecture:
specs/: Formal JSON Schema contracts ( workout_schema.json), functional requirements, and pre-compiled fallback caches.src/agent.py: Local LLM prompt harness with temperature-constrained retry loops (0.1) and grammar-based structured schema enforcement. src/validator.py: Strict schema validation engine. src/app.py & src/static/: Vanilla zero-dependency dark-mode outdoor HUD with real-time audio chimes.tests/test_workout_spec.py: Automated compliance test suite ensuring 100% schema adherence.
TrailPacer AI was developed using Spec-Driven Development (SDD):
specs/workout_schema.json): qwen2.5:0.5b``llama3.2:1b / llama3.2:3b). format parameter, leveraging GBNF grammar sampling to mathematically guarantee valid JSON output.temperature=0.1. If offline without an active model server, it transparently serves verified, pre-cached routines from disk without breaking the runner's flow.
Open innovation is what makes TrailPacer AI possible. Here's why closed APIs couldn't solve this:
Open-source AI transforms generative models from cloud services into dependable, local utility software that empowers people in the physical world.