Endurain: Self-hosted Strava like service
github.com
github.com
what does that even mean
I enjoy strava just because the people on there (my friends and family) motivate me, not because I like to get bigger power/hr numbers
So what's missing are the integrations from Endurain to the big manufacturers' platforms (if they are missing, haven't checked the code).
Apple Watch -> Health App <- Strava
Strava can directly import workouts from the health app if you don’t like using their app to record your workouts
https://developer.garmin.com/gc-developer-program/activity-a...
Well done, then, to have created such a seemingly complete system.
I don't know if you are the original developer, but aren't you afraid to have made mistakes that will bite you later? Such as security stuff or other errors that will be hard to correct.
On teams I work on I usually socialize the ideas that it’s not mistakes that matter, but the speed of discovery and fixing that is important. Then it’s important to establish self-enforcing systems that make sure they never happen again. That is linters, unit tests, type systems, CI/CD etc. I jokingly call this humility-based development.
I use ChatGPT to help with projects, generate code, point out problems with my code, etc.
It usually gets more "edge cases" figured out than I would without it, especially for implementing common functions. I also ask it to plug security holes in my code, and again, it does better than I would without it.
Just yesterday, it gave me seven different strategies for dealing with bots filling out forms. I implemented a couple in just a few minutes, and the bot problem immediately stopped.
Will mistakes happen? Of course -- but AI tools can help prevent them, especially when combined with one's own critical thinking. (I often correct the AI, ask for assistance in terms of preventing specific types of problems, or use prompts based on my own pre-existing knowledge, which then gets better answers than I would get otherwise.)
Oh, a seasoned pro then :-)
The reality is that MOST people in the professsion never reach that level and are probably on the same level that you are right now.
It feels like there is a really long tail of really good coders but the median coder is actually pretty... average.
I'm putting this out there so that you can get over imposter syndrome. What you did here is amazing and a lot of professional coders would give up pretty quickly and get stuck on the first implementation steps.
If you let this fear control you, you will never actually make anything. Even the most experienced developers will make some of these mistakes. Anyone who thinks they have progressed beyond them needs more experience to see the truth.
The best way to learn is to work on projects and make those mistakes, then figure out how to fix them. The harder it is to fix, the more likely future projects will consider it in the design from the start.
Wexford’s ace though so we never really minded. ;)
There's an interesting account in (IIRC) Pantani's biography of riders having to sleep with heart rate monitors. An alarm would trigger if their HR dropped into a dangerous territory, whereupon they'd wake up and have to jump on a bike (which would already be set up on a trainer) in their room to bring their HR back up again.
so the low heart rates caused a problem for those abusing EPO, but wasn't a result of using EPO
Reviewing this, I realised I was guilty of an assumption: that as a low haematocrit can absolutely cause a high heart rate, so a high haematocrit might contribute to a low heart rate... but I can't find any support for this supposition. :)
Sadly, I can't edit my earlier post.
* https://www.amazon.co.uk/Flying-Scotsman-Graeme-Obree/dp/190...
Because you still have to give your data to Strava before it gets to this tool?
It's a cli command that you run on a folder with gpx traces, with segments you define yourself in a json file, then it allows you to list performance by segments. I use it with OsmAnd to record activities, foldersync to synchronize through syncthing, then run on the target folder.
You can look at the logic to calculate segments. I don't pretend that it's great, but that could be a nice addition to your server.
I can see how casual, frugal runners might be put off by $80/year, but casual users aren’t the target audience for competitive apps.
I’m amazed at how many people will buy $10,000 bikes and wear $600 of specialized gear and then scoff at paying $80 for a service that tracks exactly what they want.
As a runner, that was not interested in any of the social functionality, I didn't really get anything out of strava that was not already in Garmin. What are the "tracks exactly what you want" feature(s) in strava for you?
in the mtb community at least it’s not uncommon for someone with a $6k bike to be driving a $3k car and wearing street clothes.
i find it very easy to imagine people stretching financially for expensive bikes and then cutting costs by cancelling strava.
Then you need a way to block and nuke toxic segments and submitters, a voting system perhaps.
Detecting segments during an activity is tricky and I've been meaning to investigate it further perhaps via ChatGPT explainer but I know it involves lat/lon bounding boxes, detecting the start/end points within those points.
I vaguely remember Strava has some kind of patent on segments though.
This app allows to bypass the proprietary apps for smartwatches and avoid having to upload your health and location data to commercial services. But it does not support Garmin's main sport watches but only gadgets[1]. So one has to connect the watch via USB to transfer tracks and access them on a computer (no mobile support).
[0] https://f-droid.org/en/packages/nodomain.freeyourgadget.gadg...
Or, make a docker folder and specify context with dot-separated prefixes[0]. Update compose file accordingly.
[0] https://docs.docker.com/build/building/context/#filename-and...
So if you don't know the product or service it is an alternative to, you are just out of luck.
I wonder if it is intentional, or just devs being to deep into deving
There’s a lot of potential in the compounding effect of recording usable biometric data.
Especially the free version is (nowadays, 10 years ago when I really used it that wasn't a problém) lacking features to be a useful training (tracking/logging) tool on it's own.
And it's prone to the network effect, because now, people expect and want to see what their friends are up to and motivate each others.
During a job interview, I was once asked "oh, but you don't actually run too much, right?" (I had this in my resume). Which was somewhat right, I only occasionally run. I asked why they assumed this. "You are not on Strava!"
Ah, yes, but for different reasons xD.
I have played with the ForRunners app on F-Droid in the past to track my runs locally. I liked it, but I'm not disciplined enough for this stuff, and don't even have a smartphone usable for this anymore. So now, I just run without knowing anything and that's fine.
I find the bigger security issue is recording close to home, so people can theoretically see where you live and know what sort of expensive sports equipment you might have.
https://road.cc/content/news/248798-cyclist-who-had-five-bik...
And if someone shows off their expensive bikes on social media (and that's what Strava is, among other functions)... well, it makes it known to others that they own expensive bikes. Social media has been around for long enough that its users should be aware that this kind of behaviour may impose certain risks.
Btw. Strava did add a "don't show GPS 200m near my home (or any other location)" feature some time ago. But I guess that still isn't the default.
https://support.strava.com/hc/en-us/articles/115000173384-Ed...
https://taskandpurpose.com/news/did-ukraine-just-assassinate...
Of course, many, including me, have most public. It's needed to be on the public leaderboards ("segments"). But even then it's not live tracking publicly, and you can wait a few days to publish the activity if you're doing things abroad and are afraid it'll show people you're not home. (And I'd be more worried about Instagram etc in that aspect).
One cool feature, which unfortunately got severely nerfed due to privacy, was the fly-by. During your activity, you could see who else you met on the way. The cyclist blasting past us? Yeah, that was a semi pro, cool! Or during a race, could later see how everyone did in a cool visualization. The guy I biked next to for some kms and then lost track of, how did he end up?
But this could also be misused. Biked past a girl? Use fly-by to figure out who she is and stalk her. Could even upload fake activities to track everyone passing some spots etc.
Also, you could use Strava to figure out where people lived. And use that to targeted breakins for expensive cycle gear. However, now each activity will fuzz your start and end locations.
I feel Strava had taken privacy very seriously the later years. It's sad that it's needed, because some cool features aren't as usable anymore, but they've prioritized privacy.
Now since I am not an elite cyclist nor race anymore I prefer my ride to be without a computer/screen and just enjoy the ride and the scenery and I don't need to publish everything I do.
What a creepy, american thing to say.
That would be a massive red flag for me. If they checkout my private life to that degree, even if running is on the C.V. (unless maybe running is a property of the job, like a pro running team or applying for Strava community person)
This was also a side discussion during a technical interview. It was fine, really.
Yeah, what a dick that guy was, trying to find something in common with the candidate to ease into the interview. Stick to leet coding questions, buddy!
It's the same on reddit, even on topics i (supposedly) know about and follow.
Nb - if you're into sports and fitness tracking, take a look at http://intervals.icu - great for fitness, but also a geeks dream. And a Ux with A1++ customer service to die for!
I have hundreds of workouts to pick from in there across swim/bike/run, and used the site to plan out all of my training for an Ironman 70.3 (and also for some upcoming races next year). It is phenomenal for planning out your training if you want to do any sort of endurance sports racing.
The developer is awesome, and provides almost all features for free. He even added a swimming feature that I needed with like a 1-2 day turnaround, which was incredible. The “premium” version is only $3/mo which I gladly pay just to support the service.
It’s not open source but honestly that’s fine, the developer has built a very feature-complete platform. But it would be really cool to have the source…
Instead of "like strava" 20 times all over, at least once say "a running, cycling and hiking app like strava".
To me, this project just tells me to just go ahead and use strava, they are merely a fan clone.
Also, I think it would make sense to base this on XMPP or ActivityPub, for federation and interop with other services.
Not yet ready for self-hosting as there's a tangle of dependencies, but working on it... The managed version is available on https://cubetrek.com
Strava is a social network, map-based ride reviewer, heatmap tool, and basic ride analysis tool. GC is a not-great map viewer and VERY deep ride data dive tool for training.
A venn diagram for the two would only overlap by about 15%.
Running for me has always been a solitary pursuit. Making it "social" and letting you know that BigDave69 ran that segment faster than you or whatever totally jars with the whole ethos for me.
It is like Strava for Football (gets data using Strava OAuth). Open source, but docs aren't simply there yet for host-ability!
Also, don't want to hijack your post, but some people might be interested in a football variant! Will defn try Endurain soon