Get the top HN stories in your inbox every day.
mbesto
throwuxiytayq
> which is kinda "open source" since its donation based
what does that even mean
biscuitech
Doesn't mean anything, honestly. Strava is also donation based if you think hard enough.
mbesto
I should have clarified... I wrote my comment too quickly. The code isn't open source afaik, however the service is completely free and donation based.
Karellen
I couldn't find a link to the source code on the site though? Where should I be looking?
francoispon
but that's different, strava is more like a social platform, intervals.icu is more about a training and progress platform.
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
pflenker
One thing is missing and can’t be done with a web app, and that is automatic tracking of activities recorded by smart watches. The work around here seems to be auto-importing them to Strava and connecting Strava to Endurain.
Lio
A webapp can definitely import activities from Garmin smartwatches automatically. Garmin provide a REST interface to Connect to import FIT activities.
https://developer.garmin.com/gc-developer-program/activity-a...
moooo99
Theoretically, practically, the Garmin connect developer programm is only open for businesses and not hobby projects. From my past experience this is also enforced, no hobby projects.
llimllib
I have also experienced this. It’s very frustrating that my own data, while available for download on the site, is not available via API
nsteel
From my past experience (during COVID when everyone was trying to get access to do hobby projects) they were providing access, you just had to email nicely and ask. Maybe that's now changed again, I've not tried since.
tcmb
Wait, the smartwatches don't upload activities directly to Strava, do they? They connect to their manufacturer's cloud service (Garmin Connect etc), and Strava has API integrations with them, doesn't it?
So what's missing are the integrations from Endurain to the big manufacturers' platforms (if they are missing, haven't checked the code).
navanchauhan
Not sure about others, but for Apple Watches:
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
heavenlyblue
I don't think that's how Strava on Apple Watch works
ReleaseCandidat
Could be that they do that directly now, but some years ago you had to "route" the data through their (Suunto's and Garmin's) servers, yes.
_boffin_
I guess I’m tangentially working on doing that for Apple Watch for some personal stuff. I can do a blog post on it sometime.
quinncom
I use the WorkOutDoors app on Apple Watch. It uploads workouts directly to Strava.
ReleaseCandidat
Has been quite a while since I used one, but you could configure custom data uploads in Suunto's app (that's also how you would uploads to Strava back then). Garmin could do the samé IIRC. Don't know about the modern versions though.
Xylakant
One path forward could be integration into RunGap which integrates with tons of services.
janwillemb
> I'm not a developer by profession (my dev concepts are from university ten years ago) so this work had a lot of help from ChatGPT and the main purpose was to learn new technologies and new concepts, so please be gentle. If you have recommendations for any topic please let me know.
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.
boplicity
I've been an amateur programmer for a long, long time. I've never had the time to really get fluent in coding. (I'm the type of coder who can lose an hour to stupid typos and similar bugs that should be easy to spot.)
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.)
davnicwil
> I'm the type of coder who can lose an hour to stupid typos and similar bugs that should be easy to spot.
Oh, a seasoned pro then :-)
Tyr42
Yeah that's me too. I lost a week on the datasets test/ folder being completely empty too.
goalonetwo
I realize that most people think "professional coders" are on top of their profession and can find bugs with advanced debugger features.
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.
flipgimble
Not the op or the author but any and all developers will make mistakes. Experience just moves the threshold of obvious mistakes into less obvious ones. What’s impressive is that the author built a system and presumably opened it to community feedback which could potentially lead to better result than an experience developer working in solitude and worry over security for years. I appreciate the honest disclaimer at the top as well.
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.
al_borland
“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.”
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.
Dachande663
The OP looks to be using sha2 for password hashing at a cursory glance at the PHP so I’d say highly likely. I suppose everything, AI or novice, is just a matter of degree of wrongness.
hallqv
Afraid of what..? What’s the risk?
mattlondon
I wonder if ChatGPT suggested PHP, because that is a very bizarre choice.
undefined
denysvitali
[flagged]
esskay
Tell me you're out of touch without telling me you're out of touch.
sputr
[flagged]
Lio
Great name. I take it it’s a play on the word endurance and the name of the great Spanish cycling champion Miguel Induráin.
toyg
Best of the best at a time when almost everyone was doping like mad. Worked with EPO pioneer Dr. Conconi. He was never caught but chances are he wasn't clean.
4ndrewl
Istr he was also some sort of physiological freak - huge lung capacity combined with a ridiculously low resting heart rate. Won all his tours by hammering out huge TT leads that were unassailable in the the mountain stages.
mft_
I don't want start a doping argument on HN, and I don't dispute what you've written, but a very low heart rate can be a result of EPO usage.
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.
latchkey
George Hincapie was also kind of a physiological freak. I remember watching him at junior nationals one year just completely decimate the field. It was a criterium and he had a slow leak on his front tire and still won the race. A really strong and talented rider long before he was a doper.
pvg
It is a fine name but Endurian - become one with, be the durian was also right there.
samstave
Thats how I read it as well. It sounds better off the tongue, but the -rain name is in gear with such an app - as this is not a fruity dieting app for Filipinos.
comprev
Or if you live in Ireland - "endure the rain" - because we have no other choice /s
Lio
Reminds me of childhood holidays in county Wexford. We’d always be told it’d been constant sunshine the week before… as we stared out the window at the driving rain.
Wexford’s ace though so we never really minded. ;)
constantly
Works for Seattle too :)
undefined
ImPleadThe5th
This is more like an alternative frontend with backup right?
Because you still have to give your data to Strava before it gets to this tool?
simmschi
Looks like it. Which is a problem, because the Strava API Agreement (https://www.strava.com/legal/api) specifically prohibits you from replicating features that Strava has.
charles_f
Shameless plug for a very scrapy alternative I made to Strava, except that you don't need Strava at all - https://github.com/cfe84/gpx-tools/blob/main/README.md
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.
mac-attack
Thanks for sharing. Starred it for a rainy day
undefined
vocram
I think the killer application of Strava is segments. Even without caring about being the quickest of all users (aka getting KOMs), I find it valuable to be able to compare my progress on a specific piece of road over time. Paired with your heart rate and perceived effort it allows you to gauge how fit you currently are - or how far you are from your peak form.
ck2
Someone just needs to make an open central hub for segments and leaderboards per activity type.
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.
hasbot
Strava does have multiple patents related to segments including defining and matching segments but Garmin Connect and Ride With GPS have had segments too for years: https://support.ridewithgps.com/hc/en-us/articles/4419581503...
nightski
It's a cool feature no doubt, but they really lean on that hard to make you want to pay $80/year.
Aurornis
$80/year isn’t much in the context of most sports that people use Strava for.
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.
notnmeyer
i think you’re looking at it wrong if all you consider are the bare numbers. someone may find enough _value_ in an expensive bike and expensive gear and not enough value in strava’s paid features. value is subjective, right?
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.
dfc
I cancelled my subscription before the price hike. I agree it's not a lot of money but it also was not a lot of value. I think the criteria should be about how much value something provides.
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?
undefined
rcMgD2BwE72F
How could it be used with mobile tools like Gadgetbridge[0]?
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...
mac-attack
Thanks for sharing. I was not aware of this
williamscales
Does this integrate with the Fediverse? The social network aspect of Strava is the primary reason I use it. Garmin Connect has better analysis tools (than Strava to be clear, not Endurain, I've not tried it)
justinwp
Yeah, I want a FOSS activity pub version of Strava.
ck2
It's a shame Runalyze is no longer open-source but the old version is still there
otteromkram
You can move Dockerfiles into the backend/frontend folder to keep them contained.
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...
null4bl3
I have noticed this tendency in development, where creators write some open alternative to a service, but nowhere in their README have any description of what the alternative they are providing actually does.
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
Get the top HN stories in your inbox every day.
I've been slowly moving towards https://intervals.icu/ which is kinda "open source" since its donation based. Way better than Strava.