Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

174 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

runway

Android CI Latest release License: MIT

Plan your running, bring in what you recorded, and decide what changes next.

runway is an Android app for runners who plan their own training. Build toward a race or choose regular running days, then keep the plan, completed runs, recovery, and deliberate changes in one place.

Keep recording with the app or watch you already use. Share one GPX file with runway or approve an export folder, and each new activity waits in Inbox until you review it. Optional read-only Health Connect import is available too.

runway works with your existing recorder instead of replacing it. It runs locally on Android 8.0 and newer with no account, server, subscription, or cloud sync.

Calendar Inbox
Calendar showing today's planned run and a readable schedule by date Inbox showing a GPX run awaiting review and an accepted result

A clear next step

  • Build toward a race or choose a few regular running days each week.
  • Review the starting week, peak, longest run, and ramp before creating a race plan.
  • See planned runs, completed work, and waiting decisions by date without filling the calendar with recovery entries.
  • Move, edit, add, or remove a future run when life changes.
  • Compare what was planned with what happened, then keep the schedule, ease back, rest, repeat, or rebalance.
  • Look back at the original plan, every deliberate change, and the work you completed.

Weekly routines record whether you ran without changing future days on their own. Race plans can offer a schedule change, but runway never applies one until you approve it.

Bring runs in from the apps you already use

runway reads local GPX files; it does not record your route. You can share one file from another app or approve a GPX folder under Settings → Imports.

  • Gadgetbridge: In Settings → Automations → Auto export GPX tracks, choose an export folder. Approve that same folder in runway. Gadgetbridge creates a GPX when a newly synced activity includes a GPS track.
  • OpenTracks: Share a recorded track as GPX 1.1, or enable automatic export after each recording and approve the output folder in runway.
  • FitoTrack: Set GPX export to a directory, then approve that directory in runway.
  • Another GPX recorder: Use the same flow if it can share a .gpx activity or write GPX files to a folder you choose.

runway checks the approved folder when the app returns to the foreground. Optional background checks are best-effort rather than a continuous folder watch. Every imported activity goes to Inbox for review before it counts toward training or offers a schedule change.

Under Settings → Notifications, you can turn on reminders for planned run days and alerts when a folder import is ready in Inbox. Android may deliver background work and notifications later than requested.

Your data

Plans, runs, and preferences stay on this phone unless you create a backup or export. You choose whether imported route and heart-rate details are saved. Backup and export files are plaintext, so store them somewhere you trust.

See Security and privacy for exact storage, permission, retention, and deletion behavior.

More screens
Stats History
Stats comparing planned and completed training History showing current and past plan records
Settings Larger screens
Settings for training, reminders, imports, and saved data Calendar using the adaptive navigation rail at 600 dp and wider

Install

Download the APK with its matching .sha256 and .signer.txt files from the latest release. Verify the checksum and signing certificate using the Android release guide, then open the APK on the device. Releases signed with the same dev.deftmartian.runway certificate install as in-place updates.

Personal F-Droid repository operators should follow the Android release guide so GitHub and F-Droid builds preserve the same application identity and update path.

Build from source

Use JDK 17, Android SDK Platform 36 with matching build tools, and the checked-in Gradle wrapper:

android/gradlew -p android --no-daemon --max-workers=1 lint test assembleDebug

See Android development for device tests and module responsibilities, or Contributing before changing product behavior.

Documentation

Topic Start here
Product intent and boundaries Product
Interface and copy decisions Design system
Modules and local data flow Architecture
Data sensitivity and trust boundary Security and privacy
Training evidence and limits Training sources
Building and testing Android development
Signing and distribution Android release guide

License

Copyright © 2026 deftmartian.

runway is licensed under the MIT License (MIT).

About

A self-hosted running planner for building training plans, recording workouts, and seeing how each run affects your week.

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages