I use Strava as my tracking app on runs. I used to use Runtastic (now Adidas Running), but unfortunately there is no native app for my Samsung Galaxy Watch. But since Strava has now implemented some more restrictions for free users and I’ve been toying with the idea that I need a different system to own my run data (self-hosted) for a while anyway, I’ve now started to program something myself (as always when my desired solution doesn’t exist…).
I am not yet completely sure what the system will look like, but probably the workflow will be as follows:
I will record my run with any app (there are a lot of them, I’ll have to find the best one), from this app I will export the recording via a GPX file and upload it to my self-hosted service. The GPX file is either just saved there and displayed when viewed with Leaflet and the GPX plugin and analyzed for basic statistics in the browser or the Go service analyzes the GPX file and saves the results in a database to simplify the display so that the browser doesn’t have to read the whole GPX file every time.
Regarding my runs, I’m only interested in the distance, the duration and the pace. The rest is nice-to-have, but not absolutely necessary. But one feature I will probably implement is that I can upload GPX files directly via Telegram to the service.