TrainBud
· v2.0.3
About
TrainBud puts your training and recovery numbers on your wrist and lets you ask
an AI assistant about them without reaching for your phone.
It opens on Today: not a grid of numbers, but what actually stands out —
measured against your own baseline, not a population average.
• "Resting heart rate 4 bpm above your 28-day baseline, 3 days running"
• "5.6 h of sleep short of your usual 6.3 h over the last 7 nights"
It says when it does not have enough history to compare anything yet, rather
than pretending everything is fine.
A glance shows your recovery score and last night's sleep without opening
anything. Open it and swipe or tap through the cards you switched on:
• Today — what stands out, in plain language
• Week — this week against last, and where your training load is heading
• Ask AI — questions drawn from what actually fired, plus up to five of your
own that you write in the dashboard
• AI Insight — a daily one-line tip built from your own numbers
• Overview — recovery, sleep, stress and VO2 max in one grid
• Recovery — score with a colour-coded ring, plus resting and maximum heart rate
• Sleep — hours and quality score
• Activity — latest workout with duration, distance, average heart rate and VO2 max
• Stress — daily average
Which cards appear, and in what order, is yours to set in the dashboard. Values
are colour-coded against thresholds you can change. If the server is briefly
unreachable, the app shows your last cached summary with an "updated X ago"
marker.
SETUP REQUIRED — THIS APP NEEDS YOUR OWN SERVER
TrainBud is the watch front end for a free, open-source companion server that
you run yourself. It does not work standalone.
1. Install and configure the server (Node.js 20+): npx trainbud setup
2. Run: trainbud serve
3. Expose it over HTTPS with a tunnel (Cloudflare Tunnel or ngrok both work)
4. In the app's settings, enter that HTTPS URL as Server URL
5. Open the dashboard link the server prints, and approve the six-digit code
shown on your watch — this pairs the watch, so no API key is ever typed on
the device
AI features are optional and off by default. They require your own Anthropic API
key, entered once in the companion dashboard, and every call is metered there
with an optional monthly cap. No AI runs on the watch: your question is sent to
your own server, which calls the AI provider on your behalf and returns the text.
HEALTH DISCLAIMER
TrainBud is for general wellness and training information only. It is not a
medical device, it does not diagnose, treat or prevent any condition, and its
output — including AI-generated text — is not medical advice. Consult a
qualified professional before making decisions about your health or training
load.
TrainBud is an independent open-source project, not affiliated with, endorsed by
or sponsored by any device or platform vendor.
Setup guide and source: https://github.com/Zsadigzade/trainbud
Permissions
CommunicationsDetails
Compatible with 59 devices
Updated Sep 8, 2026
Developer website ↗
Privacy policy ↗
Open on apps.garmin.com ↗
Updated Sep 8, 2026
Developer website ↗
Privacy policy ↗
Open on apps.garmin.com ↗