Open-source project
timfraedrich/OutRun avatar
timfraedrich/OutRun

OutRun: an ad-free iOS workout tracker that keeps its data on the phone

OutRun is an open-source, privacy oriented, outdoor fitness tracker.

880 stars86 forksSwiftGPL-3.0

At a glance

What is it?
OutRun is a Swift app for recording running, walking, hiking, cycling and skating workouts, with no accounts, no ads and no tracking, so the recorded routes never leave the device unless you export them. The project is fully open source under GPL-3.0, but it takes no code contributions, and the name and logo are explicitly excluded from the licence.
Who is it for?
Adopt OutRun if you want a fitness tracker for iPhone that records routes without creating an account and without ads, because the whole data model stays local and the export paths are GPX and JSON backups, which keeps you able to leave the app. Do not fork it expecting to contribute code upstream, because the project explicitly does not accept code or translation contributions at the moment.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Swift, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The name says running, the app records five sports

OutRun is an iOS app for recording and viewing outdoor workouts, and the README opens by pointing out the mismatch in the name. Despite the name it supports not just running but also walking, hiking, cycling and skating. That single sentence explains a lot about the design. A tracker named for one sport invites you to compare with running apps built around pace and distance, whereas one that records several activities has to treat the workout as a container for a route, a duration and a set of measurements, and let the activity type be a label on it. The repository layout supports that reading. There is an App directory for the application itself, an OutRunCore directory for the shared logic that would be reusable outside the app, a Widgets directory for the widget extensions, a Tests directory, and an Xcode project file named OutRun.xcodeproj. The split between OutRunCore and App is the structure a future third-party client would need.

Everything stays on the device

The feature list is centred on customisation and privacy, and the first item is the data claim: keep full control over your data, everything stays on your device, without accounts, ads or tracking. The rest of the list builds on that rather than competing with it. You can record your outdoor workouts across the five activity types. You can follow an active recording on the lock screen and in the Dynamic Island with Live Activities. You can view detailed statistics, charts and maps of your routes, browse your workouts in a calendar and edit them afterwards. You can synchronise with Apple Health in both directions. You can export and import your workouts as GPX or JSON backups, and you can customise the recording process and units. The project is stated to be fully open-source and ad-free. The combination of no account with a full export path is the part worth noticing, because an app with local data and no export would be a dead end, and this one gives you GPX and JSON both ways.

Distribution is the App Store, not a build

There is no installation guide here, and the reason is that this is a shipped iOS application rather than a developer tool. The README links a download badge to the App Store listing, and the app id in the link identifies the specific product. The release history shows how that has gone. The tags are v1.3 from 2023-01-23, v1.2.2 from 2020-10-17 and v1.2.1 from 2020-08-25, while the last push to the repository was on 2026-10-19, so the source is being worked on after the last tagged release without a new version tag. That gap is worth noting for anyone who wants to build from source, because the repository is a complete Xcode project with a Tests directory and a Widgets target, which means you can open it and run it if you have a Mac and the right toolchain. What you cannot get from the repository is a signed binary, and the README describes the supported route for users as the App Store build, with a TestFlight link for beta testers.

Live Activities and Apple Health are the two platform dependencies

Two of the features depend on specific parts of the iOS and HealthKit ecosystems, and both shape what the app can do. Live Activities is what puts the ongoing recording on the lock screen and in the Dynamic Island, which means the recording state has to be surfaced through the widget extension rather than only inside the app, and the Widgets directory in the repository is where that lives. Apple Health synchronisation in both directions is the other: outbound so that a workout recorded in OutRun reaches the Health app, and inbound so that a workout recorded elsewhere arrives in OutRun's own history. Both directions matter for the data promise, because a local-only app that silently failed to import from Health would still be local-only but much less useful. The acknowledgements in the app settings list the third-party libraries used by OutRun and their own licences, which is where you would look if you want to know what else is inside the binary.

Contributions are deliberately limited to non-code

The contribution section is unusual and worth reading carefully before you open a pull request. The framing is that OutRun is free, open source and has no ads, and that if you enjoy using it and want to support it there are lots of ways to help. Five are listed. Share the app, and leave a review on the App Store, which helps others discover it. Report issues through the issue page of the project. Join the beta through the TestFlight link, where beta testers receive early and sometimes unstable versions and help make sure everyone else gets a more polished product. Leave a tip through the Tip Jar in the app settings, with the note that tips are entirely optional and do not unlock any additional features. And say thank you, which is described as always making the author's day. The closing line is the constraint: OutRun does not accept any other kind of contributions, such as code or translations, at the moment. For a GPL-3.0 project that is an unusual position, and it means the source is readable and forkable rather than a shared codebase.

The licence excludes the name and the icon

The licence section has two layers and the second one is easy to miss. The source code of OutRun is published under the GNU General Public License, version 3, with the full text in LICENSE.md and the notice inside the project naming the copyright holder as Tim Fraedrich for 2026. The GPL notice itself is the standard text, promising redistribution and modification under the terms of the licence and disclaiming warranty.

bash
OutRun
Copyright (C) 2026 Tim Fraedrich

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

Then there is the branding carve-out. In accordance with section 7(e) of the GPL-3.0, the name OutRun, the OutRun logo and the app icon are not licensed under the GPL-3.0, and you may not use them for modified or redistributed versions of the app, or in any way that suggests endorsement by, or affiliation with, the author. Third-party libraries are licensed under their own terms, listed in the acknowledgements in the app settings. So a fork is legally straightforward to make and legally awkward to publish under the same name.

What the project does not do

Three absences are worth naming. There is no web interface and no cross-platform client, because the app is an iOS application and the repository contains an Xcode project with an App target and widget extensions rather than a portable core that another client could sit on, although the OutRunCore directory suggests the separation exists. There is no server, so there is no cloud backup and no account recovery: your history lives on the device, and if you lose the phone the data goes with it unless you have exported a JSON backup. And there is no social layer, no leaderboard and no sharing feed, which follows from the no-accounts rule rather than being an omission. The trade-off is coherent, but it means the app is a local recorder with export, and anyone who wants their workouts aggregated across devices or shared publicly has to build that outside it.

Editorial conclusion

Adopt OutRun if you want a fitness tracker for iPhone that records routes without creating an account and without ads, because the whole data model stays local and the export paths are GPX and JSON backups, which keeps you able to leave the app. Do not fork it expecting to contribute code upstream, because the project explicitly does not accept code or translation contributions at the moment. Verify first that you are happy with GPL-3.0 for the source, that you accept the branding restriction in section 7(e) since the name and icon cannot be reused in a modified build, and which release you rely on, since the latest tag is v1.3 from 2023-01-23 while the last push to the repository was on 2026-10-19.

Frequently asked questions

Does OutRun require an account or send my workout data anywhere?

No. The feature list states that everything stays on your device, without accounts, ads or tracking, and the app is described as fully open-source and ad-free. You can export and import workouts as GPX or JSON backups if you want to move them yourself.

Which sports does OutRun record?

Running, walking, hiking, cycling and skating. The README notes that despite the name it supports not just running, and the feature list gives the same five activities.

How do I install OutRun?

The supported route is the App Store, linked from the README with a download badge. Beta testers can join through the TestFlight link in the contribution section. The repository is a complete Xcode project, so the source can also be opened and built directly.

Can I contribute code to OutRun?

Not at the moment. The README lists sharing the app, reporting issues, joining the beta, leaving a tip and saying thank you, and closes by stating that OutRun does not accept any other kind of contributions, such as code or translations.

Can I fork OutRun and publish my own version?

The source is under GPL-3.0 so you can modify and redistribute it under those terms, but section 7(e) of the licence excludes the name, the logo and the app icon, and you may not use them in a way that suggests endorsement by or affiliation with the author.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. timfraedrich/OutRun on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/timfraedrich-outrun.svg)](https://hysenlabs.com/projects/timfraedrich-outrun)

Was this useful?