Export activity recap for AI analysis

Hi everyone!

Recently, I started using AI to do some sort of basic analysis of my activities. I find it useful because it quickly checks whether or not the activity is in line with the planned workout/race, how HR evolved compared to power, etc.

My typical workflow at the moment is this:

  • Open the activity
  • Copy/paste the information available at the top of the screen (everything between “date and time” and " CHO In g")
  • Copy/paste data about power zones
  • Copy/paste data about HR zones
  • Copy/paste the intervals table in the “Data” tab

I think it would be great to have a button to do that automatically, copying the whole recap to the clipboard so that it can be easily pasted to any AI application.

I know there is the possibility at the moment to export the activity as CSV, but I find the described approach easier both for users and AI applications, as they typically take a little longer to process uploaded files and may also have quotas on how many uploads can be made.

If there is any way I can contribute to this somehow, I would be more than happy to do so! :slight_smile:

3 Likes

As this feature request doesn’t look very popular at the moment, I developed a basic extension that adds a “JSON to clipboard” button on every activity page.

Once clicked, the activity data is exported to the clipboard in JSON format.

It is way better than my previous manual approach, as the AI can now analyze every piece of information.

The extension is currently available on GitHub, but I will publish it to the Chrome Web Store as soon as possible.

2 Likes

Nice, no need for this myself but inspires me to wrap a bunch of my common custom bits for various sites into my own extension.

I use bookmarklets a lot, so the above could be changed to this for example

javascript:(async()=>{try{const id=location.pathname.split("/").pop();const url=`https://intervals.icu/api/activity/${id}`;const r=await fetch(url);if(!r.ok)throw new Error(`API request failed: ${r.status}`);const j=await r.json();await navigator.clipboard.writeText(JSON.stringify(j, null, 2));console.log("Activity JSON copied to clipboard");alert("Activity JSON copied to clipboard");}catch(e){console.error(e);alert("Failed to copy activity JSON. See console.");}})();

N.B. if you copy and paste direct into the address bar your browser might drop the javascript: section, so that will need typing, not an issue if you create a bookmark though.

1 Like

Very nice, thanks for sharing!

And thanks to you too.

Just finished a Join.cc to Intervals extension, had previously been doing it in python but needing to copy cookies across. Benefit of an extension is is can access them, whereas bookmarklets can’t.

1 Like

For your information, the extension is now available on the Chrome Web Store:

3 Likes

Thanks a lot great idea. I think a lot of us are doing what you were initially doing :wink: I’ll wait feedback from community and might try your extension. I’m not familiar with installing and using extensions in Chrome… Out of curiosity, which AI tools do you use, in other words what works the best for you, based on the information pasted? Do you need to feed in any other info from other Intervals screens? Thanks for the work on this.

Hi, thanks for the feedback!

I started some months ago with ChatGPT. I provided a recap of information about me (age, weight, height, level of training, data about past activities, etc.), then I asked to provide a training plan for the next few weeks to improve my FTP.
It provided a high-level plan, then, every day, I ask for the detailed table (segments with duration, power, and cadence). Initially, I manually created the training to use it with MyWhoosh, later I created a separate chat where I ask to convert the table into a JSON file, so that it can be easily imported automatically.
At the end of each training session, I go to Intervals.icu, export data, and paste it to ChatGPT to analyze the performance. Based on the result, the AI eventually suggests changes to the plan.

1 Like