My GPS ride data
I've been posting my GPS data for my bicycle rides to Strava for over 12 years. In that time I've recorded over 1,500 rides covering more than 44,000kms. That's a lot of my data on someone else's server.
Prior to using Strava, I used Endomondo to record my rides. Endomondo does not exist anymore.
With this in mind, I thought it was about time that I started recording my rides on my own server. So, that's what I have started doing. I've wanted to be able to do this for a long time, but what with work commitments and family life, I've never managed to get around to coding it.
Enter Claude.
For me, one of the best things about generative AI is just how quickly it works. A coding feature that might have taken me weeks to achieve, can now be accomplished in a single morning. And, that's about how long it took for Claude and I to add this feature to my website.
I started by prompting Claude to create a database of bikes so that I can associate a bike to a ride and keep track of how many kilometres each bike has been ridden. The prompt was:
In my website's admin area under admin/bikes, I want to build a system where I can record details of my bicycles. I have a number of bikes and I want to be able to record details of their brand, model, components etc. I also want to be able to upload photos of them and keep a running total of the number of kilometres I have ridden on them.
This produced exactly what I wanted, nearly. It then occurred to me that I like to tinker a lot with my bikes, changing components and tyres etc, it might be good to add a chronological notes section for each bike, so that I can keep track of what changes I make and when I make them. So I gave Claude the following prompt:
I'd like to be able to record individual notes against my bikes, like a mini blog post or status update. I want to be able to write the note in markdown and be able to optionally upload media (photos, video, pdf files etc.)
Next up, the more tricky task of uploading and parsing the Garmin GPS files.
In my website's admin area under admin/rides I want to build a system where I can upload Garmin fit files, have them read and the data stored in the database. I want to be able to edit the rides like Strava, changing the title, adding notes, uploading photos, assigning a bike etc. It would be cool if I could see a route map using OpenStreetMap or similar. When assigning a bike, the bike's total number of kilometres should be updated.
As it turns out (somewhat expectantly) Claude did not find this the least bit tricky and put the whole thing together very nicely. There was some additional prompting to get things just how I wanted them, but I figure this was to be expected given the rather basic prompts that I had provided Claude with.
All in all, I'm really happy with how the whole thing turned out. There's something immensely satisfying about having full control over my own data again, hosted on my own server, without having to rely on third-party platforms that could disappear or hide features behind a paywall tomorrow. It does exactly what I need it to do, no more, no less.
If you're into this sort of thing and want to see the ride log in action (or just see where I've been pedalling lately), you can check out my ride data over at my rides page.