Free GPX loop repeater for cyclists, triathlon bike legs, and crit race courses. Drop a GPX of one circuit, set laps or a distance target, download a stitched GPX for Garmin, Wahoo, or Strava. Runs in
Sports & fitnessGitHub @WillCraigOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Repeat laps based on a gpx file that starts and ends at the same point. Perfect for planning races, training loops around the lake, and hill repeats.
Loading the full README.
Read the full README ↗Repeat any GPX loop into a longer ride.
Drop a .gpx of one lap, pick how many times to ride it (or a target distance), download a stitched GPX you can import into Strava, Ride With GPS, Garmin Connect, or Wahoo. Everything happens in the browser — your file never leaves your device.
Live at loopr.willcsoftware.com.
<trk> N times with the seam deduped between laps.<time> (this isn't a ride — it's a plan).creator="loopr <version>".@sveltejs/adapter-static → GitHub Pagescorepack enable
pnpm install
pnpm dev
pnpm check # svelte-check + tsc
pnpm test:unit # vitest, GPX library
pnpm test:e2e # functional, accessibility, responsive, and visual browser suite
pnpm test:e2e:functional # all browser checks except screenshot comparisons
pnpm test:visual # compare committed screenshots across desktop and mobile browsers
pnpm validate # complete pre-push check: types, lint, unit, UI, and visual tests
pnpm build # static output → build/
pnpm preview # serves build/ at :4173
The UI contract runs in desktop Chromium, Firefox, and WebKit, plus Pixel/Chrome and
iPhone/WebKit profiles. WebKit is the repeatable CI proxy for Safari. Before changing the UI
intentionally, refresh and inspect baselines on macOS with pnpm test:visual:update, then commit
the images under tests/e2e/__screenshots__. CI compares them on the macOS 26 arm64 runner to
minimize platform-specific rendering differences from local Apple Silicon Macs.
Playwright's WebKit build is not the exact Safari binary shipped by macOS. For a release-level Safari check, run the suite locally on macOS and do a short manual pass in the current Safari; CI still catches the large majority of WebKit-specific layout and behavior regressions on every PR.
MIT, © 2026 WillC Software House.