Separating messengers from message matters here. I'm bullish on crypto/NFT despite the bad evangelists, not because of them. Same with AI: some (but not all!) use cases are genuinely real, and the loudest voices in the room don't get to decide that.
The interface is a bit funky, but if you sort the files by "Last modified: newest to oldest", you can browse this INDEX directory and see the individual files.
If you go here osf.io/6hfpz/files/... and look for the INDEX directory, these files are still there.
What about r/WattOverflow, a subreddit for sports data nerds paired with a code sandbox (think CodePen or sweatstack.run) to explore and run scripts? Platform agnostic: GoldenCheetah, SweatStack, Intervals.icu and more.
There's indeed a lot of "AI is an expert on every topic I know nothing about" going around. Easy enough to filter out. And something can still be learned from people who are (openly) not experts, maybe especially when they're using new tools. Fresh eyes are not bothered by existing paradigms.
Forgot the WKO Facebook group. Was honestly quite a good resource and nice community until I got kicked out because I mentioned using some AI tool to generate WKO scripts. π€·
I think it's pretty fragmented, scattered across subreddits, Twitter/X, Bluesky, Intervals.icu forum and the Wattage/Golden Cheetah Google Groups. Anything I'm missing? Nothing seems purpose-built for sports data nerds specifically. Worth building?
If you have a proper usecase that goes beyond just listing the data: Let me know!
Also: Thanks to @peter-leo.bsky.social for giving me feedback and testing the proxy on Windows. π
With all the attention this got, seemed worth building the proper solution: a local proxy that serves files directly to sites, data never leaves your computer.
New version + instructions: goldencheetah-web-viewer.pages.sweatstack.dev
Yup. A lot of these apps are developed by people who just really enjoy plots of raw data, without thinking too much about meaning or value. It's probably some form of professional bias (and I can't say I'm not guilty of that myself sometimes).
That said, some parts of GC are maybe unnecessarily complex, especially around customization and extensibility. I remember fighting more than once just to get R and Python working... That's where web apps could help.
Agree, but not sure it's a big problem. To me, GC is a tool for advanced users, so some intimidation is expected. Less technical users are probably better served by other web tools or simpler apps.
Thanks! Do you have a usecase in mind?...
An interesting wrap-up presentation from the security researcher who found the COROS watch security vulnerabilities last year. Worth a watch if you're into geekery: www.dcrainmaker.com/2026/03/geek...
I see the missing CORS headers as a feature, not a bug! Good security practice I would say.
I think the ideal scenario would be a popup like in option 2 directly coming from GC. If there's enough interest, we could discuss adding that.
@liversedge.bsky.social @peter-leo.bsky.social @captain7bag.bsky.social @rchung.bsky.social
Imagine community-built dashboards, custom visualizations, training plan tools. All running in the browser, all powered by your local GoldenCheetah data. Here's the proof of concept: goldencheetah-web-viewer.pages.sweatstack.dev
Option 2: a small local proxy script that adds the missing CORS headers. Your data never leaves your machine.
Downside: requires Python or another tool installed. Technically, this could also be included directly in GoldenCheetah.
The trade-off: your data travels through a third-party tunnel and my proxy worker. Athlete names appear in URLs and could end up in logs. Fine for a demo, not ideal for privacy.
So how do you bridge that gap? Option 1: an SSH tunnel. Run:
> ssh -p 443 -R0:localhost:12021 a.pinggy.io
No install needed, ssh ships with every Mac and Windows machine. A Cloudflare Worker proxies the requests server-side, bypassing CORS. This is what the proof of concept uses.
GoldenCheetah has a built-in REST API (localhost:12021 if enabled). But browsers enforce something called CORS: a web page can't read responses from localhost unless the server explicitly allows it. GoldenCheetah doesn't, and for good reason. You don't want random websites reading your local data.
What if you could analyze your GoldenCheetah data in the browser? No exports, no Python/R scripts. Just open a URL. The web is a great delivery platform: no installs, works everywhere, easy to share.
I built a proof of concept: goldencheetah-web-viewer.pages.sweatstack.dev
FastAPI 0.135.0, with Server-Sent Events: fastapi.tiangolo.com/tutorial/ser... β¨
Big features in FastAPI 0.134.0 β¨
π Stream JSON Lines with yield: fastapi.tiangolo.com/tutorial/str...
π¦ @pydantic.dev serializes each item to JSON (on Rust) for max perf
π¦οΈStream binary data with yield: fastapi.tiangolo.com/advanced/str...
π€ Library Agent Skill updated with this
π₯ Easter egg
Please don't make fun of how little I train.
App here: rampup.pages.sweatstack.dev
This was the result of an experiment to make the data behind an aggregate metric visible to improve user understanding.
I'm definitely not a designer (and never will be), but playing with animations like these in Claude Code is super fun. (and an infinite rabbit hole for your time)
Template repo: github.com/SweatStack/sweatstack-pyscript-template
This template is SweatStack specific but it can be adapted to work outside of SweatStack usecases as well.
Still a work in progress!
Example app: interval-detection.pages.sweatstack.dev
Needs a SweatStack account (just connect your Garmin or Intervals.icu). It's a simple app, but it shows the power of having scikit-learn available right in the browser.
Sneak peek at something I'm working on: Making it easier to bring Python analyses to the web, no web servers or containers needed. Built on Pyodide/PyScript. The cold start (~10-15s) isn't ideal, but seems manageable (?). Would love feedback or ideas for use cases to test!