Android app to upload your FIT/GPX files to Dreeve
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-18 17:26:47 +02:00
app Remove redundant unsafe casts in GpxParser 2026-09-10 00:25:04 +02:00
gradle/wrapper Initial commit 2026-09-05 21:07:34 +02:00
metadata Shorten ru description even more 2026-09-10 16:53:17 +02:00
.gitignore Initial commit 2026-09-05 21:07:34 +02:00
AGENTS.md Initial commit 2026-09-05 21:07:34 +02:00
build.gradle.kts Update plugin com.android.application to v9.4.1 (#25) 2026-09-18 17:26:47 +02:00
gradle.properties Disable dependency info in Gradle 2026-09-10 00:34:07 +02:00
gradlew Initial commit 2026-09-05 21:07:34 +02:00
gradlew.bat Initial commit 2026-09-05 21:07:34 +02:00
LICENSE Initial commit 2026-09-05 21:07:34 +02:00
README.md Update README.md 2026-09-07 15:27:32 +02:00
renovate.json Update renovate.json 2026-09-09 13:14:10 +02:00
settings.gradle.kts Initial commit 2026-09-05 21:07:34 +02:00

Dreeve Upload

An Android app for uploading fitness activities (FIT/GPX files) to your self-hosted Dreeve instance.

The app attempts to minimize subsequent activity edits by modifying the title to reflect sport type and commute and group ride flags. Dreeve's automation rules can then be used to fill in the gaps. E.g.:

  • If name contains commute then set "commute" flag,
  • If name contains gravel then set gear to "Canyon Grizl",
  • If name contains mountain bike then set sport type to "Mountain Bike Rides".

For FIT files, the title is written to the wkt_name field using an extremely hacky patcher. You can always skip this step and upload original file as is.

Features

  • File import: pick .fit or .gpx files from your device or share files directly from fitness apps
  • Sport type selection: choose from multiple sport types with quick-pick buttons for the most recently used ones
  • Activity metadata: toggle "Commute" and "Group Ride" flags
  • Auto-generated titles: titles like "Morning road bike commute" are generated from sport type, time of day, commute status, and group status — fully editable
  • Dreeve API integration: uploads directly to your Dreeve server

Screenshots

Server setup File picker Activity details

Setup

1. Configure Your Dreeve Instance

You need:

  • A self-hosted Dreeve instance
  • An API key (Settings → Security → API access in Dreeve)

2. Build or download the App

./gradlew assembleDebug

Or download the APK from the releases page.

3. Install & Configure

  1. Install the APK on your Android device
  2. Tap the ⚙️ settings icon in the top-right
  3. Enter your Dreeve server URL (e.g., https://dreeve.yourdomain.com)
  4. Enter your API key (starts with drv_)

Usage

  1. Select file — tap "Choose FIT or GPX file" or share one from your fitness app
  2. Edit details (optional) — adjust sport type, commute, group ride, and title
  3. Upload — tap "Upload to Dreeve"

Like with other import methods, the Dreeve daemon will process the file in background (up to 5 minutes by default).

Dependencies

  • Android SDK: Min 26 (Android 8.0), Target 35
  • Jetpack Compose: Modern Android UI
  • Retrofit: HTTP client for Dreeve API
  • Material 3: UI components

Disclaimer

This app is not affiliated with Dreeve, Garmin or any other trademark holders. All trademarks are property of their respective owners.

AI

This project was developed with like a lot of LLM assistance.

License

Licensed under GPL-3.0 or later.