Безкоштовний інструмент від Інни Рижих
Рік твого бігу на одній сторінці
Один ключ у Garmin Connect, один промпт у Claude Code, і за двадцять хвилин у вас сторінка, яка відповідає на головне запитання: чи в порядку база.
Без реєстрації · дані лишаються на вашому комп’ютері

Що всередині
Не вісім дашбордів на смак, а одна відповідь
Garmin показує сотню чисел і жодного висновку. Цей дашборд збирає ваші пробіжки за рік за тими самими правилами, за якими я читаю щоденники своїх спортсменів.
Вердикт
Одна фраза нагорі: що в тренуваннях не так у першу чергу. Легкі не легкі, довго без розвантаження, рваний графік або база в порядку. І три числа поруч, які це доводять.
Лінія легкого
Усі пробіжки року точками відносно межі легкого пульсу з вашого годинника. Лінію можна тягнути й дивитися, як вердикт залежить від одного налаштування в Garmin.
Стрічка тижнів
Кожен тиждень стовпчиком, кожна пробіжка блоком. Ударні тижні, розвантаження і найдовша серія без нього видно одразу. Клік по тижню розкриває його по днях.
Форма і відновлення
Метрів за удар серця: єдиний показник форми без тестів. І пульс спокою за тижнями на тлі важких, щоб бачити, чи вистачає відновлення.

Що потрібно
- Годинник GarminБудь-який, що пише пульс і синхронізується з Garmin Connect. Що довша історія, то чесніша картина, але й трьох місяців уже досить. Старий годинник без зон і Training Load теж підійде: дашборд дорахує їх сам.
- Комп’ютерMac або Windows. Ключ Garmin і всі дані лишаються на ньому, у хмару нічого не йде.
- ClaudeЗастосунок Claude для комп’ютера з вкладкою Code або Claude Code у терміналі. Потрібна підписка Pro або Max. Як поставити, показано в третьому кроці.
- Двадцять хвилинЗ них ваших хвилин п’ять: створити ключ і перевірити зони. Решту Claude Code робить сам.
Інструкція
Чотири кроки
-
Створіть особистий ключ Garmin
З жовтня 2026 року Garmin видає кожному користувачу особистий ключ до його даних. Це офіційний спосіб: пароль нікому не передається, сторонні бібліотеки не потрібні, ключ уміє лише читати.
- Відкрийте connect.garmin.com → Settings → Personal API Key і ввійдіть, якщо попросить.
- Натисніть Create Key, прочитайте і прийміть умови.
- Термін дії оберіть 1 рік, інакше за місяць усе доведеться повторювати.
- Скопіюйте ключ одразу. Garmin показує його один раз. Якщо загубили, видаліть старий на тій самій сторінці і створіть новий.

Так сторінка виглядає, коли ключ уже створено: Garmin пише термін дії, а сам ключ більше не показує. -
Перевірте зони пульсу в Garmin
Дашборд бере межу легкого бігу з вашого годинника, тому від налаштувань зон залежить усе. У нових годинників зони налаштовуються лише в застосунку Garmin Connect на телефоні. Шлях такий:
Ваш годинник → Налаштування → Профіль користувача → Частота пульсу та зони потужності → Частота пульсу
- Угорі три числа: максимальна частота пульсу, частота пульсу на лактатному порозі і пульс у спокої. Натисніть на будь-яке, щоб виправити.
- Відкрийте Зони, потім Розрахунок за. Найкращий варіант: % частоти пульсу на лактатному порозі, якщо поріг виміряно тестом або годинник сам визначив його на бігу з нагрудним ременем.
- Якщо максимум стоїть за формулою 220 мінус вік і ви його ніколи не вимірювали, зони майже напевно зсунуті. Дашборд це помітить і попередить.
- Окремі зони для бігу лежать у пункті Частота пульсу за видами спорту. Якщо їх задано, годинник бере їх, а не загальні.
- Не змінюйте налаштування навмання. Межу можна посунути просто на дашборді й подивитися, що від цього зміниться.
Назви пунктів меню можуть трохи відрізнятися залежно від мови й версії застосунку.
-
Поставте Claude Code
Це помічник, який працює прямо на вашому комп’ютері: створює папки, завантажує файли, запускає скрипти. Звичайний чат Claude у браузері чи в телефоні цього не вміє, тому з телефону дашборд не зібрати. Потрібна підписка Claude Pro або Max.
Найпростіше через застосунок. Завантажте Claude для Mac або Windows, увійдіть в акаунт і відкрийте вкладку Code угорі вікна. Це той самий Claude Code, тільки зі звичайним вікном замість чорного екрана: виберіть будь-яку папку, вставте промпт у поле повідомлення і натисніть Enter. Він питатиме дозвіл на кожну дію, відповідайте «так».
Якщо звичніший термінал. Відкрийте Термінал на Mac або PowerShell на Windows, виконайте команду праворуч, потім наберіть claude, увійдіть і вставте промпт. Докладна інструкція з картинками є в Anthropic: code.claude.com/docs.
-
Вставте промпт
Скопіюйте текст із блоку нижче повністю і вставте в Claude Code. Він завантажить три файли з цього сайту, поставить потрібне, попросить вас вставити ключ у файл, забере дані й відкриє дашборд у браузері. Єдине, що вам треба зробити руками: вставити ключ у відкритий файл і зберегти. За тиждень чи місяць скажіть Claude Code «онови дашборд», і він забере нові тренування.
Промпт
Вставляється в Claude Code повністю. Читати не обов’язково, але можна: там немає нічого, крім кроків і правил безпеки.
Промпт написано англійською: так Claude Code виконує інструкції точніше. З вами він говоритиме українською, це сказано в першому рядку.
Якщо щось пішло не так, не редагуйте промпт. Просто скажіть Claude Code, що сталося, своїми словами. Він розбереться або спитає вас.
Build me the InnaTri running dashboard from my Garmin Connect data. Walk me through it step by step in plain language and do everything technical yourself: folders, files, installs. Stop and wait for me only where I have to act. Talk to me in Ukrainian. Rules - Never print my Garmin key in the chat, never put it in a command, never write it anywhere except the file garmin.env. When you check it, say only “the key is in place” or “no key”. - The key and the data stay on my computer. Add the data folder and garmin.env to .gitignore. - The Garmin key is read-only; it cannot change anything in my account. Step 1. Folder and files Create a folder called innatri-dashboard in my home folder and work inside it. Download these three files into it: - https://innatri.com/guides/dashboard/fetch_garmin.py - https://innatri.com/guides/dashboard/build_dashboard.py - https://innatri.com/guides/dashboard/template.html Check that I have Python 3.10 or newer; if not, help me install it. Create a virtual environment and install the package garmin-connect-personal-api-python into it. Step 2. The key (I do this part, you guide me) Create the folder ~/.config/innatri and inside it the file garmin.env with one line: GARMIN_API_KEY= Set the file permissions to 600. Open it in my text editor and tell me the full path. I will paste the key right after the = sign with no spaces or quotes and save. If I do not have a key yet, tell me: it is created at https://connect.garmin.com/app/settings/personalApiToken with the Create Key button, 1 year is the best expiration, and it is shown only once. Then check that the value is filled in, without printing it. Step 3. Data Run fetch_garmin.py --months 12. If Garmin returns 401, the key was copied incompletely or has expired: ask me to check the file. If it returns 500, the script shrinks the batches on its own, just let it finish. At the end tell me how many activities and days came back. Step 4. Dashboard Run build_dashboard.py --lang uk. If it warns that the zones in my watch are based on maximum heart rate, pass that warning to me word for word. Open dashboard.html in my browser. Step 5. Summary Tell me four things from the dashboard: the verdict, the share of time in zones 1 and 2, how many runs out of how many were easy, and the longest streak of weeks without a recovery week. Do not advise anything beyond that; the coach does the reading. When I say “update the dashboard” or «онови дашборд», repeat steps 3 and 4.
Без прикрас
Чого цей дашборд не знає
Кожен поріг у ньому тренерський, і кожен підписаний. Але є речі, яких за даними Garmin не дізнатися. Краще сказати про них одразу, ніж відповідати на це в коментарях.
- Чим виміряно пульс
Garmin не повідомляє, ремінь це чи оптика на зап’ястку. Оптика на інтервалах і в холод помиляється на 5–10 ударів. Місячні середні надійніші за окремі пробіжки, а нагрудний ремінь вирішує суперечку.
- Звідки взявся ваш максимум
Якщо він стоїть за формулою, усі зони зсунуті разом із ним. Дашборд друкує, звідки взято межу, і попереджає, але виміряти максимум за вас не може.
- Спеку, хворобу, недосип
Довга в спеку йде вгору за пульсом під кінець, і середній їй цього не пробачає. Пульс спокою після келиха вина вищий на три удари. Це обмеження методу, а не ваші помилки.
- Як Garmin рахує навантаження
Training Load це закрита модель Firstbeat. Тут вона потрібна лише щоб порівнювати тижні між собою: знайти ударні й розвантажувальні.
- VO2max, статус тренованості, прогнози
Особистий ключ Garmin їх не віддає. Дашборд навмисно побудовано на тому, що виміряно, а не оцінено, і нічого не домальовує.
- Ваше життя навколо бігу
Дашборд бачить пробіжки, але не бачить роботу, сон, стрес і цілі. Тому його вердикт це привід для розмови з тренером, а не діагноз.
Це інструмент для читання тренувальних даних, а не медична рекомендація. Пороги в ньому налаштовувані, висновки залежать від налаштувань зон у вашому годиннику, дивитися на них варто трендом за 6–8 тижнів, а не за одним тижнем. Скрипти відкриті, працюють лише на вашому комп’ютері, дані нікуди не надсилають. Ключ Garmin можна відкликати будь-коли на тій сторінці, де його створено.
Запитання
Я не програміст. Точно впораюся?
Так. Ви робите дві речі руками: створюєте ключ у Garmin і вставляєте його у файл, який Claude Code сам відкриє. Усе інше він робить і пояснює по ходу. Якщо застрягли, напишіть йому, що бачите на екрані, своїми словами.
Це безпечно? Куди йдуть мої дані?
Нікуди. Скрипти завантажують дані з серверів Garmin на ваш комп’ютер і збирають із них один HTML-файл. Ключ лежить у файлі з правами лише для вас, у чат він не потрапляє. Claude Code бачить лише те, що друкують скрипти: кількість тренувань і попередження.
Garmin повернув помилку 401
Ключ скопійовано не повністю, з пробілом, або він протермінувався. Відкрийте файл garmin.env, перевірте рядок. Якщо ключ був на 30 днів, створіть новий на тій самій сторінці Garmin.
Дашборд каже, що зони рахуються від максимуму
Отже, у Garmin у вас зони за відсотком від максимального пульсу. Це не помилка, але якщо максимум не виміряний, а стоїть за формулою, межа легкого може бути зсунута на 5–10 ударів. Потягніть лінію на дашборді на п’ять ударів в обидва боки і подивіться, чи стійкий вердикт. Якщо ні, варто виміряти поріг або максимум.
У мене багато бігу на доріжці
Пульс на доріжці справжній, тому доріжка бере участь в усіх пульсових метриках. Темп без футпода неточний, тому з «метрів за удар» вона виключена. У таблицях доріжка підписана.
Бігаю без пульсу або з перервами
Пробіжки без пульсу рахуються в кілометрах, але не в зонах, і дашборд скаже, скільки їх. Якщо з пульсом менше ніж 60% пробіжок, вердикту не буде, лише чесне «пульс записано не скрізь». Дні без годинника не рахуються нулями.
Можна змінити правила під себе?
Так. Межа легкого рухається прямо на сторінці. Поріг розвантаження задається ключем --deload під час збирання, межу можна зафіксувати ключем --easy-ceiling. Усі пороги перелічено внизу дашборду в розділі «Як рахували».
Чому не Strava і не застосунок?
Strava не віддає зони і пульс спокою за відкритим ключем так просто, а застосунок означав би, що ваші дані лежать у мене. Тут вони лежать у вас.
Що робити з цими цифрами
Дашборд показує факти. Що з ними робити далі, вирішує тренер. Якщо хочете, щоб за пів року картина була іншою, я веду бігунів і триатлетів онлайн.