AI 코치
킵초게 봇.
매일 새벽, 텔레그램으로 훈련을 보내는 코치.
매일 함께 하는 일
코치가 하는 일
- 06:00
모닝 푸시
오늘의 훈련(거리·페이스·심박존) + 한 줄 동기 멘트. 잠 깨라.
- 훈련 후
가민 캡쳐 한 장으로 기록
러닝 끝나고 가민 화면 캡쳐 → 봇이 사진 분석 → 거리·페이스·심박·시간 자동 추출 → 컨디션·신발만 입력 → 노션 자동 저장.
- anytime
자유 질문 답변
"내일 비 오는데 뛸까?" "이번 주 너무 빡세서 하루 빼도 돼?" 같은 자연어 질문. 노션 기록 컨텍스트로 코치다운 답.
- on signal
부상 신호 감지
컨디션 ≤ 2/5 또는 통증 메모 → 다음 날 자동으로 페이스 조정·강도 다운 제안.
- 매주 일
주간 compliance 리포트
계획 대비 출석률·거리 준수율 + 다음 주 미리보기. 일요일 저녁에 도착.
작동 방식
어떻게 굴러가는가
데이터는 가민에서 흘러오고, 판단은 Claude가 합니다. 텔레그램은 인터페이스, 노션은 영구 저장소.
가민 시계 → 노션
러닝 종료 → 자동 sync → 노션 훈련 일지 DB. 거리·페이스·심박 데이터.
사용자 메시지 → 봇
가민 캡쳐 사진(자동 분석) 또는 자연어 질문. 명령어 외울 필요 없음.
Claude가 컨텍스트 받음
노션 훈련 기록 + 주간 스케줄 + 사용자 메시지 → Anthropic Claude API. Sonnet/Opus 모델 자동 선택.
응답 → 텔레그램
코치 응답 생성 → 텔레그램으로 푸시. 새 훈련 기록은 노션에 자동 저장 + 사이트 대시보드 갱신.
샘플 대화
코치의 목소리
짧은 시처럼 말합니다. 과하게 위로하지 않고 데이터로 말하되, 부상 신호엔 즉시 멈추라 합니다.
D-320 | 화요일
💬 Heart over legs, my friend. Pace can wait. 오늘은 심박만 보시면 돼요.
Today: Z2 이지런 8km
💓 HR 130~149
Lace up. The road is waiting. 신발 신으시면 절반은 끝. 🚶💨
📅 2026-05-05
📏 17.25km · ⏱ 6:19/km
💓 139bpm · 🕐 1:48:55
17.25km · HR 139 · Pace 6:19
HR locked in Z2 — clean. Pace 살짝 빠른데 condition 4/5라 OK. 잘했어요.
Tomorrow: rest + Strength B. 둔근 풀어두시면 돼요. 🛏️
가민 캡쳐 한 장이면 끝. 거리·페이스·심박·시간·날짜를 자동으로 추출합니다. 숫자 타이핑할 필요 없음.
만든 이유
왜 직접 만들었나
AI로 훈련 프로그램을 짜고 데이터를 분석하는 건 누구나 할 수 있습니다. 그런데 매일 옆에서 이름을 부르고, 컨디션을 묻고, 어제 뭘 뛰었는지 알고 있는 "코치"가 필요했습니다.
가민 워치 기본 트레이닝 플랜도 써봤습니다. 일반화된 처방은 내 발등 부상이나 오늘 컨디션을 알 리 없었고, 무엇보다 페르소나가 없는 알고리즘은 동기를 만들지 못했습니다. 지표만 들이미는 코치 옆에서 새벽 5시에 일어나기는 어렵습니다.
그래서 봇에 '엘리우드 킵초게'라는 페르소나를 심었습니다. 데이터로 말하지만 영혼이 있는 목소리. 매일 새벽 "Good morning, my friend."로 시작하는 푸시가 침대에서 나를 일으킵니다. 시작 전에 절반은 끝난 셈입니다.
기술 스택은 Anthropic Claude(두뇌) + Telegram(인터페이스) + Notion(저장소) + Garmin Connect(자동 sync) + macOS launchd(상시 실행). 코드는 정리되면 공개 예정.