Your training. Your device. Your edge.
A local-first endurance training tracker built entirely in the browser. Import Garmin .FIT files, track training load with the Banister impulse-response model, detect personal bests, visualize GPS traces on an interactive map, analyze sessions with advanced metrics (NP, GAP, efficiency, lap analysis), and get coaching recommendations — all without a server.
PaceVault is installable as a Progressive Web App. It works fully offline — once loaded, no network connection is needed. A service worker handles caching and auto-updates in the background. No account, no signup, no server.
requires vite+ - see: https://viteplus.dev/guide/, https://viteplus.dev/guide/ide-integration#ide-integration
-
Fork and clone the repo
-
vp install && vp dev -
Create a branch:
git checkout -b feat/my-thing -
Read
CLAUDE.mdfor architecture rules before writing code -
Run the full verification suite before opening a PR:
vp check # fmt + lint + typecheck vp test -- --run # unit & integration tests vp exec playwright test # e2e tests vp build # production build
-
Open a PR against
main
