The running goal for the year.
If you like to look rather than read: run.zartei.dev, personal run tracker to showcase how well my running this year is going. ( aka not well, let the games begin )
Personal run tracker.
Like so many others I’m back on the track trying to get the laps in.
Last year the family got challenged to go run one of the city 10km runs, and most of us did join in. This was my way back into running once more after a longer break.
It felt good to get back in the habit after not running for quite a few years — like 20 or so.
But then how to better track how you are doing in a year? I’m sure there are apps and services out there that do this better for you if you just sell them all your data and first born.
So I tossed together a quick site to showcase how well I’m doing on my personal target of running 1000km in a year.
I have found it easy to see the tracking of one lap but getting the full story has been harder. But I found out that I can export a GPX to get the run from the tracking app I use and from that I can grab the data to collect my personal history.
And what do they say — the scale does not lie. I have to admit I felt like I was doing better than I was. But I guess I skipped out a few too many months of the winter. I have a plan though that I hope I can stick to that will let me finish out before the winter starts for real.
Tech?
What did I pick to build this with? Once again I picked Astro for the base since I feel like it is a solid base for a quick one-off site. There really is not much to think about for why I picked it other than I like the speed of bloggor and how lightweight the page is in general. And it just feels really snappy.
But what about the data? I track my runs with a Samsung Galaxy Watch, and it lets me export GPX files from my runs. This is something that should more or less be automated but the first time around we go for working over perfect. So I extract it to the phone and save it to Google Drive and have a small script that extracts the distance data in the file.
There is quite a lot more data in the files like heart rate, elevation and what not. But again we try to avoid scope creep. The first pass will just see how long and the duration we run. Later we might try to extract more. But for now it works out okay.
The shaped data is then just dumped into a JSON file where we have the aggregated data for each run like:
{
"id": "xxxx",
"date": "2025-12-29",
"startTime": "2025-12-29T07:42:54.000Z",
"distanceMeters": 4547.69,
"durationSeconds": 1586,
"source": "Samsung Health"
}
i hope to get some time to improve this later but for now at least I can see where I stand and create a new plan going forward.
And I have to step it up quite a bit, dropping the morning doom scroll and just a quick run will make the difference.
So in the end it might be a bit overkill for just a quick run session tracker, but like the beaver says, I have big plans for this — BIG PLANS.
( I have to make sure I can add images into the blog page. But the beaver with the refactor plan is fun. )
In the end this is more or less for me to get a small push to continue with the training.
Even if it felt a bit crushing when I saw how far behind my goal I was, but I think that is okay now I know and have a plan to do something to fix it.
Hope it can give some inspiration to get out there and run just one extra time each week and move about more!