MyTrainPal - AI Assistant connected to Intervals

After a week or so of use I thought I’d just drop a line or 2 on my experience. Overall, it’s a very pleasing and positive experience that is going to be an extremely important part of my training going forward. I’m happy to commit to MyTrainPal and would recommend to anyone. I’ve got a couple of things to point out which may be of use for features going forward.

When I initially started using MyTrainPal I created an account as free user (just to have a look) I asked to create a plan with a zone 2 restriction to see if MyTrainPal could accurately do this (it did where others have failed!). I’ve completed a few workouts and if I went over the zone 2 restriction the coach advised me to pull back a bit. MyTrainPal’s insights were very useful and appropriate. It also recognised the procedure I went through this week and advised missing some days to recover. I was very pleased with its approach and feedback. The only little blip was that MyTrainPal was looking at my running heart rate zones on cycling feedback but once I spotted that and advised it updated.

Being a Wahoo SYSTM & MyWhoosh user I asked MyTrainPal if we could make every Tuesday a ‘Sufferfest’ workout and Saturday an ‘On location’ workout but with the zone 2 restriction. The rest of the workouts I would ride in MyWhoosh. Whilst that’s not a usual case for most people health issues currently require it. My aim was to get the indoor version of each workout but with reduced intensity to keep me within zone 2 (SYSTM provides both indoor and outdoor versions). The workout would have the same length as the SYSTM workout so I could ride along and still feel a connection with the workout. What I found was that MyTrainPal had a knowledge of SYSTM’s library however it struggled to match perfectly because it wanted to ensure that I had a 10 minute warmup and 5 minute cooldown (is that figure pulled from Intervals.icu as that is the default warmup/cooldown period?) and it would adjust the length of the interval or remove it completely. So what I received was not the most accurate of workouts. Revolver for example had 15 intervals but really there is 16 and one is slightly longer than others). It also removed some sections of the workout or made certain intervals shorter (The Bat had 4 repeats and not 6). I guess a lot of this would have been to ensure that I stayed within zone 2 but It would not have allowed me to follow the flow of the workout on screen. What I did in the end was settle for the outdoor versions of the workout which seem a little more AI friendly and manually edited the intervals so that I at least will get a good feeling of the workout without going over the zone 2 restriction.

As a one off to see what would happen when I could get back into racing. I asked if the app how I should ride the course in Coast and Country on MyWhoosh. It came back and told me that Coast and Country was a course in Hudayriyat on MyWhoosh which was incorrect and gave a list of watts to output on climbs etc. Looked like a plan that a rider would strap to the handlebars in a race. That was useful but maybe could have been more in-depth.

Both of these made me think that maybe there could be a little bit more integration with the workout/course library of 3rd party indoor ride platforms? Many of the users would potentially use these for training or racing and so a really good accurate knowledge of workouts and courses would be good. Coming from Humango, Wahoo workouts were available to add to the plan. Whilst I don’t expect that level. Is there anything that MyTrainPal could do on that? I know that if I have something scheduled I can see it in my Wahoo App to ride which is very useful but i’m not sure if you get workout structure details from Wahoo as part of the integration?

I do have folders in my Intervals.icu workout library with the entire MyWhoosh & SYSTM workouts. I could not get a response from MyTrainPal when asking if it could add a random workouts from my ‘SYSTM: Sufferfest’ library on Intervals.icu and initial questions aimed at the workout library seems to suggest it can see the MyTrainPal folder and another custom folder which had some MyWhoosh workouts but it did not seem to give me the impression it could interrogate other folders. Can you clarify how MyTrainPal can be used with my Interval.icu workout libraries. If there is a good connection then I can maybe direct my plan to include some of those workouts per week and the AI fills in the rest?

I did have a feeling for a future feature that I think could be massively useful. MyTrainPal has fitness, calendar, plan and coach as the main features but maybe Event could be another.? Almost like Best Bike split whereby you create an event, which maybe a race, ride or run, you have a list of courses (either outdoor or indoor) which are analyzed and the AI generates a really in depth plan of how you should ride that course based on the knowledge it has of your current form and abilities with fuelling advice? Maybe it links to interval.icu races feature? If you have a regular event where the course is the same then a hit of the refresh button generates a new ride plan.

1 Like

Thanks James, this is fantastic feedback and really useful.

I’m really glad MyTrainPal has been helpful so far. I’m especially happy to hear that even when you ran into an issue, simply pointing it out to the AI Assistant was enough for it to correct itself.

On the workout templates and integrations, the AI Assistant should be able to read all your workouts, but it receives filtered results based on the search query. It’s possible that the workout you were looking for did not appear in the limited set of results shown to the AI. This all happens in the background to avoid excessive context usage when a user has a large workout library.

That said, it should definitely be able to find the workouts you have in mind, so there is clearly some work for me to do to improve this.

Integrating all third-party platform workout libraries would be a big challenge, and I don’t think I could do it in the short term. However, most platforms should allow you to export a GPX file of a real or virtual route in some way. You can then attach it to the chat and ask MyTrainPal to create a workout or race plan with detailed pacing.

I’d be curious to hear whether that would be useful for the “Coast and Country” case you mentioned?



Although there is no separate UI for events yet, I think this should already work well if you tell the AI that you have an A, B or C race, or even an important group ride, coming up and that you want it to take that into account when planning your training.

Thank you for the reply. That looks pretty good and super useful. I tried with a similar question but the AI took my medical issues into account so did not give me back with what I hoped however the AI was right to take that into account. What came back was okay but I’d have benefited for it knowing the route. Including a gpx file would have been better but given indoor routes on MyWhoosh, Zwift etc don’t always follow real world routes then it could be that those files aren’t accurate and may cause the AI some confusion. I’m not 100% sure about that but a zwift route usually goes into the sea for example. They do this to avoid issues with real world Strava segments. I like the look of those screenshots. It could benefit from the planning the day before, a warm up, maybe taking the weather into account (if outdoor) but I guess asking the correct questions will give this information. I didn’t want to go too in depth yet as I didn’t want use the credits until I have a race calendar and the medical clearance to get racing.

Many thanks

Always happy to help!

Regarding virtual routes, I haven’t checked MyWhoosh specifically, but with Zwift the GPX file seems to show the elevation profile accurately and matches what you see in the game.


You are right that asking the right question can improve the quality of the response. The AI Assistant tries to connect the relevant pieces of data and provide the most useful information, but for something specific, such as nutrition on the day before a race, it is best to ask directly.

For anything you would like it to include regularly, it is also best to state that explicitly. For example, you could ask it to start each day with nutrition advice that takes into account today’s training and your preparation for the next few days.

I also checked the exact usage of the GPX scan feature, and it is very well optimized. Creating a pacing plan with nutrition for a specific route uses only around 10 credits.

Thanks again for the insightful feedback, and for trusting MyTrainPal with your training.

1 Like

Many thanks I’ll definitely give the gpx a go when I’m ready to ride routes and race and i am trying to improve on my nutrition so will look at trying nutrition related queries. Thanks

I’ve noticed sometimes that warm up ramps do not have the ‘make ramp’ option selected in the workout. They are being described as a warm up ramp but are flat. I can correct that by clicking the ‘make ramp’ button in the workout or adding the word ‘ramp’ after the interval length in Intervals.icu’s workout editor.

Hi James,

Thanks as always for the reporting the issue and presenting it so clearly.

I’'ve tightened the validation for ramp steps that will prevent AI from making this mistake in the future.

1 Like

Thank you👍🏼

Hi,

thank you again for the suggestion. Now the last selected sport is the default for the displayed chart. Web version was updated, IOS and Android apps will follow soon.

1 Like

Hi everyone,

Small update: I added Hevy integration to MyTrainPal.

I know quite a few people track gym/strength work there, and I wanted that data to be part of the same training picture instead of living in a separate app.

Right now it can:

  • import completed Hevy workouts into MyTrainPal
  • import Hevy routines as strength templates
  • keep sets/reps/load/RPE where Hevy provides them
  • sync completed strength sessions further to Intervals.icu
  • use Hevy webhooks, so new workouts can appear automatically after setup
  • export MyTrainPal strength templates/planned strength workouts back to Hevy routines

The main idea is simple: if strength work affects fatigue and recovery, the coach should be able to see it together with rides/runs/swims, not as some disconnected note.

Setup is in Settings → Connections → Hevy.

You need to create a Hevy API key in Hevy developer settings and paste it into MyTrainPal. After connecting, MyTrainPal shows the webhook URL/header you can copy into Hevy if you want automatic sync notifications.

Web version is already supporting Hevy integration, iOS and Android apps are pending release.

Cheers,
Krzysztof

2 Likes

Just an observation. The coach’s insight is always referring to not having sleep stage data to analyse. Whilst I have a Whoop band and a connection with Intervals.icu the sleep stage data is not passed through (unless I’m missing something). Any thoughts on how to get that data into MyTrainPal going forward to allow the platform to be a little more knowledgeable? Sleep stage does not get pushed to Apple Health either. I’ve been looking and can see there are some MCP services which can integrate with Whoop data and I wondered if there is any thought about MyTrainpal being able to query any external endpoints (if that’s possible?). Thanks

Interesting… Apple Health fully supports sleep stage data, but WHOOP has decided not to push it there. In this case, the best solution would be a direct WHOOP integration in MyTrainPal. I tried setting it up, but it seems they require an active WHOOP membership to do so.

You’ve also raised an interesting point about allowing MyTrainPal to connect to custom external endpoints. That’s not possible right now, but I’ll explore it. Thanks for raising this.

1 Like

Really impressive work — fellow developer here. First impressions are fantastic, will share more feedback once I’ve used it properly.

One technical question if you don’t mind: how are you handling the inline chat components (charts, multiple choice etc.)? Specifically curious whether you’re using Vercel AI SDK’s useChat with the parts array, or a custom SSE consumer mapping tool results to components. I am working on a similar UI pattern for a different domain and the question just came up.

Hi! Thank you for the kind words, I hope you’ll enjoy using the app.

Answering your question, I’m not using Vercel AI SDK’s useChat, app uses custom SSE consumer and maps streamed events into its own model.

Small meta note as well.

I noticed that some app threads become a stream of tiny updates that are basically “added a dropdown” or “changed a prompt”. I’m trying to avoid that here, because I understand why people asked for a separate AI tools category if every small change becomes a new forum bump.

That said, I am still updating MyTrainPal all the time based on your feedback, bug reports, and what I notice while using it myself.

A lot of the work is not very exciting to announce publicly: better data handling, cleaner sync logic, better prompts/tools for the coach, fewer edge cases, better activity context, etc.

I also keep internal benchmarks for the quality of AI responses to different training questions, and I use those to check whether changes actually improve the answers instead of just sounding different. Those benchmarks have been improving steadily as I ship changes under the hood.

So if I’m not posting every small change here, it doesn’t mean development slowed down. I’m just trying to keep this thread useful.

2 Likes

Do you think yoga can be separated from strength? My yoga sessions are the least intensive sessions you can get but never less important for recovery. They gain an 8 TSS load in the plans for 15 minutes and adding a yoga session each day has added 56 TSS to my plan which the platform takes into account. I’d prefer if yoga had 0 tss and any impact load wise is just a hidden bonus.

strength sessions are absolutely fine

Hi James,

MyTrainPal has a mechanism you can use for this. If you schedule your yoga sessions through the agent, start a new conversation and tell it something like: “When scheduling yoga sessions, do not add them to my active training plan.”

The active plan is what you see in the Plan tab. If an activity is not part of the active plan, it won’t be included in load calculations.

You can also manually remove a planned activity from the active plan. On the Edit Activity screen, there’s a Plan selector — simply choose No plan.

1 Like

Ah that’s cool. I did not realise that could be done.

1 Like

I noticed that the monthly free quota was a bit too tight for the first setup. A few of you reached out that you hit the limit during onboarding, which is not ideal, because that is exactly when you want to explore the app and see if it is useful.

So I’ve added introductory extra credits for every new user. It should now be enough to set things up, test the coach, and get a proper feel for the app.

1 Like

Just to say, this app/tool is a life changer for me. It just seems to understand me, it’s giving me runs which push me but equally don’t kill me (like other apps!) and I’m looking forward to it coaching me towards two half marathons in September and October this year! Huge congrats to the developer.

2 Likes