iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Modern Web

教練看不到的那六天|從 FIT 檔到 3D 軌跡,馬拉松訓練資料 Dashboard 系列

自己是同時跑步和重訓的市民跑者,跑班教練一週只見一次,剩下六天的自主訓練教練其實看不到,「上週練得如何」連我自己也常答不清楚(慚愧)。

一開始只是把重訓紀錄抄在 Google Keep,後來改成用 Notion 同步、接上 Garmin 和體重機資料,也用 NotebookLM 組出有背景設定的 AI 助教。系統長著長著,該好好整理一次了。

這 30 天會分享整套系統的演進與補完:撈資料、解析 FIT 檔、結構化重訓紀錄、組 AI 助教,到用 WebSocket 和 Three.js 做復盤與 3D 視覺化。目標是年底站上臺北馬起跑線時,它已經能回答「我練得如何」了^0^

參賽天數 25 天 | 共 25 篇文章 | 1 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11|Telegram Bot 從零開始:為什麼選 long polling,及讓電腦持續開著

第一階段結束,資料都進來了,也出了第一個畫面,但目前 dashboard 有個問題:它必須在自己的電腦上運行。 而重訓是在健身房記的、體重是在房間量的、跑完步...

2026-08-27 ‧ 由 superbeeee 分享
DAY 12

Day 12|讓 bot 變聰明:Agent SDK vs 自幹 subprocess

昨天的 bot 只是一個遙控器—/run 去拿資料、/workout 取紀錄。 今天要讓它能理解「今天 12K 有點喘」的對話,然後自己決定要去讀哪個檔案、要...

2026-08-28 ‧ 由 superbeeee 分享
DAY 13

Day 13|搞定 LINE 記事本裡的教練課表:讓 LLM 讀圖

Day 9 做自動排程的時候,我們已經發現教練課表是唯一還要人工搬運的一段。 其他來源都有自己的接口—Garmin 有 API、體重機會廣播、重訓紀錄在 No...

2026-08-29 ‧ 由 superbeeee 分享
DAY 14

Day 14|AI 助教的知識從哪來:使用 Gemini Notebook 生成助教人設

昨天處理課表進到系統,也提到教練是真人,AI 是中間那層助教。 既然是助教,怎麼讓他有知識底子就是今天的功課:助教的腦袋是怎麼組出來的。 助教的人設長什麼樣...

2026-08-30 ‧ 由 superbeeee 分享
DAY 15

Day 15|課表達成率的兩把尺:教練的課表,和當天跑的情況

昨天講完 AI 助教的知識來源,兩邊的資料終於都結構化完成: 教練開的課表在 plans.md(Day 13 讀圖進來的) 我實際做的在 sessions....

2026-08-31 ‧ 由 superbeeee 分享
DAY 16

Day 16|對話式紀錄:把「今天 12K 有點喘」變成一筆訓練紀錄

昨天結束在一個沒解決的問題上, 8/25 那場課表開 1000m×5~6,我跑到第三趟覺得撐不太下去,後三趟自己改成 800m,而 sessions.json...

2026-09-01 ‧ 由 superbeeee 分享
DAY 17

Day 17|把疲勞算出來:TRIMP → ATL / CTL / TSB

Day 10 把儀表板接上真實資料的時候,有一張圖沒有接上。 是「訓練負荷 ATL / CTL / TSB」,底下的線長得很漂亮,起伏規律、週期分明—但目前還...

2026-09-02 ‧ 由 superbeeee 分享
DAY 18

Day 18|給教練的訓練週報:一頁、單檔,方便閱讀

前面十七天做的東西,都只有自己看得到。 儀表板跑在 localhost:5173,訓練紀錄在我的 markdown 檔裡,負荷曲線在 load.json。這系...

2026-09-03 ‧ 由 superbeeee 分享
DAY 19

Day 19|安全邊界:問 AI 助教五個不該問的問題

昨天把週報交了出去,那是主動整理交付給教練的內容。 但助教平常不是這樣運作的—它待在 Telegram 裡,我問什麼、它答什麼。 所以今天要測的是:有沒有什麼...

2026-09-04 ‧ 由 superbeeee 分享
DAY 20

Day 20|第二階段驗收:把訓練週報拿給教練看之後

第二階段的目標在第一天就提到:讓這些資料變成教練看得懂的東西。 又一個十天過去,我們完成了—課表進到系統、助教有知識底子、算出達成率、紀錄當下狀態、提供週報傳...

2026-09-05 ‧ 由 superbeeee 分享