Ready to go in 15 minutes
Set it up once and everything runs automatically: every morning Train-Ray fetches your data, you check in within 5 seconds and get the call for the day.
Set up
Create account
1 minute- Open trainray.cmventures.xyz/register.
- Choose a username, your name and a password with at least 8 characters → Create account.
Train-Ray on your phone
1 minuteTrain-Ray is a web app. As an icon on your home screen it works like a normal app – including notifications.
Open trainray.cmventures.xyz in Safari → Share (square with arrow) → Add to Home Screen → Add.
Open in Chrome → menu ⋮ → Install app or Add to Home screen.
Connect watch and apps – via intervals.icu
5–10 minutesGarmin only opens its API to companies. So the route goes via intervals.icu – free and popular with endurance athletes. You connect all your devices there, and Train-Ray then collects everything in one go: sleep, HRV, resting heart rate, weight and all sessions.
Create a free account on intervals.icu.
- In intervals.icu, go to Settings.
- Next to Garmin Connect, tap Connect → sign in with your Garmin login → allow access.
- While you're there, connect any other services you use: WHOOP, Polar, Oura, Zwift, Wahoo, COROS, Suunto …
- Open intervals.icu/settings and scroll all the way down to Developer Settings.
- Next to API key, tap Generate or View and copy it.
The key is like a password: only paste it into Train-Ray. The athlete ID (starts with “i”) is optional.
Train-Ray → Sources → paste the key under intervals.icu → Connect. Train-Ray immediately loads the last 12 months, then automatically fetches new data every morning.
Turn on the morning reminder
30 seconds- Open Train-Ray via the icon on your home screen (on iPhone, push only works this way).
- Tap your name at the top → Account → Turn on reminder on this device → allow notifications.
- Check it with Send test. From tomorrow, the reminder with the day's suggestion arrives at around 7 am.
Get started
Goals, races and weaknesses
5 minutesGoals & plan → My goals → + New goal: choose a metric (weight, body fat, muscle mass, FTP, any test – or a free-form goal), then set the target value and target date. The starting value comes from your latest measurements.
- Examples: Body weight 76 kg by 30 June · Squat 140 kg (estimated 1RM) by year end · 5 km under 21:30 by April.
- A weight-loss goal sets your nutrition to the required pace (max. 1 % per week). A strength, running or FTP goal adds focus sessions to the weekly plan. The AI refers to it in every recommendation.
- On the Overview, “Your goals · on track?” shows progress, status and what's still needed per week. On Mondays you also get the update as a push notification.
- Choose your main goal: performance, maintain fitness, lose weight, build muscle or health.
- Tap up to 4 weaknesses and mark the most important one – or adopt the suggestions from tests and body analysis.
- Enter your training days, hours per week and the day for the long session → Save.
Type the name into the search field, e.g. “ATHX St. Gallen” → Search. Train-Ray finds the date, format and categories and asks which one you're entering. Then choose the priority: A = season highlight with taper, B = important, C = treated as training.
Train-Ray suggests the week – tap Adjust on any day: train differently (e.g. a ride with a buddy), swap with another day, limited time only or rest day. With every week like this it becomes a fixed slot. Train-Ray reschedules missed hard sessions by itself.
Tests
once every 6–10 weeksUnder Tests you enter what you measured – or upload a screenshot/PDF and the AI reads out the values.
FTP (e.g. Zwift ramp test), threshold heart rate (Garmin, lab), VO2max, CSS for swimming. These give you power, heart rate and pace zones.
Deadlift, squat, front squat, bench press, overhead press, push press – with 1–5 reps, no 1RM test needed. Train-Ray estimates the 1RM.
400 m, 800 m, 1 km, 5 km, Cooper test, Norwegian 4×4, rowing 500/2000 m, SkiErg 1000 m. Time as m:ss – Train-Ray calculates the pace.
Burpees and wall balls for time (1–10 min), push-ups, pull-ups, plank, standing long jump.
- Zones: power, heart rate and pace targets in every session and in today's call.
- Working weights: strength sessions in the weekly plan with concrete weights, e.g. “Squat 4×5 @ 100 kg”.
- Fitness profile: every result is graded (beginner to elite, norms for men/women). The weakest areas appear as “What we're working on” – one click adds them to your goals.
- Goals: test goals measure their progress against your tests.
- AI: the daily recommendation and body analysis know your test results and levels.
Body
every 2–4 weeksBody → Upload: InBody report (PDF or photo) and body photos into the same field – Train-Ray recognises what it is, reads out the InBody values and sorts photos by pose. Enter weight, body fat and height alongside under Weight & height (scale and InBody data arrive automatically).
After every photo or InBody upload, the AI runs an overall analysis: estimated body fat, what's good, where the potential lies, progress since the first photo and the right training focus. Update it at any time with Run analysis again; earlier analyses stay in the history.
Under Body progress, measurements and photos sit side by side per date, plus the before/after comparison. Photos and files can be deleted directly, even a whole day.
Every day & journal
10 secondsSync your watch, check in on Train-Ray (energy, motivation, stress, soreness, time) and read today's call. Above it you can see whether your goals are on track.
Tap your effort under How hard was it?. Log sessions without a watch under Journal → Log a workout.
Tap alcohol (drinks), late meals, stress, sauna, mobility … in the Journal – also retroactively for any date. Train-Ray learns from this how you respond the next morning.
Optional
Your entire Garmin history
5 minutes + waiting timeintervals.icu provides the last few months. For years of data:
- On a computer, go to connect.garmin.com → profile picture → Account Settings → Data Management → Export Your Data.
- After a few hours to days, Garmin emails you a link → download the ZIP.
- Train-Ray → Sources → More connections → Garmin data export → select the ZIP.
Strava or WHOOP directly
1 minute- Strava only if your workouts end up exclusively there: Sources → More connections → Connect with Strava.
- WHOOP direct also provides strain and recovery – not needed if WHOOP is already connected in intervals.icu.
FAQ
intervals.icu won't connect
Copy the API key without spaces; leave the athlete ID empty or enter it with the leading “i”. If needed, generate a new key in intervals.icu.
Sessions are there, but no recovery/HRV
In intervals.icu, allow wellness data on the Garmin connection. Wear your watch at night; Garmin needs about three weeks for the HRV status.
Today's values are missing
Open the Garmin app and sync, wait a moment, then tap “Sync now” under Sources in Train-Ray.
No notifications on iPhone
Train-Ray must be installed as an icon on the home screen and opened from there (iOS 16.4 or later). Allow notifications for Train-Ray in the iPhone settings.
Who can see my data?
Only you, the admin and a coach you're assigned to. Credentials for other services are stored encrypted. Connections can be removed at any time under Sources.
For the admin – one-off
Strava, WHOOP, AI, inviting people
- Enable Strava: create an app at strava.com/settings/api (website https://trainray.cmventures.xyz, Authorization Callback Domain: trainray.cmventures.xyz). Enter the Client ID and Secret under Admin → Integrations.
- Enable WHOOP: create an app at developer.whoop.com, redirect URL https://trainray.cmventures.xyz/api/oauth/whoop, enable all read scopes and offline. Enter the Client ID/Secret in Admin.
- AI (optional): add the Claude API key in Vercel as the environment variable ANTHROPIC_API_KEY (sensitive); models and monthly limit under Admin → Integrations.
- Invite people: Admin has a ready-made invitation text with all the links to copy.