User Guide  ·  주요 기능 설명

0. 어플형태 설치 (홈 화면에 추가)

브라우저에서 https://mokro.kro.kr 에 접속한 뒤, 아래 방법대로 홈 화면에 추가하면 앱처럼 아이콘을 눌러 바로 실행할 수 있습니다.

📱

안드로이드 - Chrome / Edge

주소창 우측의 설치 아이콘 또는 우측 상단 점 3개 메뉴 → 앱 설치 / 홈 화면에 추가를 누릅니다.

🍎

iPhone / iPad - Safari

하단 공유 버튼(□↑)을 누른 뒤 홈 화면에 추가를 선택합니다. (Chrome 등 다른 브라우저는 미지원, 반드시 Safari 사용)

💻

PC - Chrome / Edge

주소창 우측의 설치 아이콘(⊕ 또는 모니터 모양)을 클릭 후 설치를 누릅니다.

설치 후에는 홈 화면 또는 앱 목록의 아이콘을 눌러 바로 접속할 수 있으며, 뒤로가기·새로고침 버튼이 포함된 화면으로 표시됩니다.
업데이트 후 화면이 이상할 때: 설치된 아이콘을 삭제하고, 브라우저에서 인터넷 사용 기록(캐시) 삭제 후 다시 접속하여 재설치하면 최신 버전이 적용됩니다.

1. 처음 연결하기

초기 페이지에서 앱 시작 버튼을 눌러 시작합니다.

1

앱 시작 클릭

주황색 버튼을 클릭하면 Strava 인증 페이지로 이동합니다.

2

Strava 로그인 & 권한 허용

Strava ID, password로 로그인 후 Authorize 버튼을 클릭합니다.

3

자동으로 메인 페이지로 이동

인증 완료 후 메인 페이지로 이동하며, 빌드가 완료된 상태라면 4가지 분석 메뉴 버튼이 바로 표시됩니다.

재방문 시: 이미 Strava 연결 + 데이터 빌드가 완료된 경우, 메인 페이지(mokro.kro.kr) 접속 시 로그인 없이 바로 4가지 분석 메뉴 버튼이 표시됩니다.

2. 처음 연결 시 데이터 로딩

처음 연결하는 경우 과거 활동 데이터를 가져오는 데 시간이 걸립니다.

1

⏳ 백그라운드 캐시 빌드 시작

연결 즉시 백그라운드에서 최근 120일 활동 캐시를 자동으로 빌드합니다. 활동 수에 따라 수 시간 ~ 최대 하루까지 소요될 수 있습니다.

2

📅 다음 날 확인

처음 연결한 다음 날 앱 시작을 다시 누르면 데이터가 표시됩니다. 활동이 많을수록 빌드 시간이 길어집니다.

주의: 처음 연결 당일에는 데이터가 표시되지 않을 수 있습니다. 다음 날 앱 시작을 다시 눌러 확인해주세요.

3. 분석 메뉴 선택

인증 완료 후 세 가지 분석 메뉴가 나란히 표시됩니다.

에너지 대사

FTP·FatMax 기반으로 파워 존별 지방·탄수화물 연소 비율을 분석합니다. 실제 라이딩과 이론 커브를 비교하고, 주별 파워 존별 지방연소량을 추적합니다.

🔥

지방연소

라이딩 중 지방 연소량, 효율, 패턴을 주별로 분석합니다.

📊

훈련량

주별 TSS, 운동 시간, 거리 등 훈련 부하를 분석합니다.

🗺️

라이딩맵

올해 실외 라이딩 궤적을 지도 위에 표시합니다. 개별 라이딩 선택, 밝음/다크 지도 전환, 경로/히트 폴리라인 전환, Strava 연결 링크를 지원합니다.

4. 에너지 대사 분석 페이지

FTP와 FatMax를 기반으로 파워별 연료 사용 비율과 실제 라이딩의 지방연소 효율을 분석합니다.

FTP Rolling 84일 최고

기능적 역치 파워 (Functional Threshold Power)

최근 84일 이내 라이딩 데이터를 분석해 추정한 1시간 지속 가능한 최대 파워입니다. 파워미터 데이터가 있는 활동을 우선 사용하며, 84일 이내 고강도 라이딩이 없으면 이전 FTP가 유지됩니다. 모든 파워 존(Z1~Z5)의 기준이 됩니다.

FatMax 최대 지방연소 파워

지방을 시간당 가장 많이 태우는 파워 구간

지방 연소량(g/h)이 피크에 달하는 파워 지점입니다. 일반적으로 FTP의 55~65% 부근(Z2 지구력 구간)에 위치합니다. 이 파워 근처에서 꾸준히 타는 것이 체지방 감소에 가장 효과적입니다. 파워가 FatMax를 초과할수록 탄수화물 의존도가 급격히 높아집니다.

페이지 상단 카드 4개가 핵심 수치를 요약합니다.

Rolling FTP
(84일 최고)
280 W
FatMax
최대 지방연소 파워
170 W
FatMax에서
시간당 지방연소량
42.5 g/h
FatMax에서
지방 비율
63 %

페이지 하단의 파워 존 & 에너지 대사 표는 본인 FTP를 기준으로 Z1~Z5 각 구간의 파워 범위, 지방 비율, 시간당 지방연소량, 특성을 한눈에 보여줍니다.

파워 범위지방 비율특성
Z1 회복<55% FTP높음완전 회복, 지방 비율 최대
Z2 지구력55~75% FTP중·고지방연소 최적 구간 (FatMax 포함)
Z3 템포75~88% FTP중간지방↓ 탄수화물↑ 혼합
Z4 역치88~105% FTP낮음탄수화물 주연료, 지방 거의 없음
Z5+ VO2max~>105% FTP0%탄수화물 100%, 지방연소 중단

5. 에너지 대사 차트 설명

4개의 차트가 순서대로 표시됩니다.

📈

FTP 추이

최근 36일간 FTP 변화를 계단형 꺾은선으로 표시합니다. 마지막 FTP 수치가 차트 위에 표시됩니다.

파워별 칼로리 소비연료

파워(W)에 따라 지방(노랑)과 탄수화물(청록)이 소비한 칼로리(kcal/h)가 누적 막대로 표시됩니다. 회색 선은 총 소비 칼로리입니다. 막대 위에 마우스를 올리면 해당 파워로 한시간 운동시 칼로리와 지방 g/h, 탄수화물 g/h가 표시됩니다.

📍

실제 라이딩 vs 이론 커브

노랑 실선은 이론적 지방연소 커브, 점들은 실제 라이딩입니다. FatMax(노랑 점선)와 FTP(주황 점선) 기준선이 함께 표시됩니다. 버블 크기는 총 지방연소량(g), 주황색은 이번 주 라이딩입니다. 실제 점들이 커브보다 낮게 찍히는 것은 정상 — 라이딩 중 파워 변동 때문입니다.

🔥

주별 파워존별 지방연소

파워미터 데이터가 있는 경우에만 표시됩니다. 주별로 Z1~Z5 각 존에서 태운 지방량(g)을 색상별 누적 막대로 나타냅니다. 어느 존에서 지방을 주로 태우는지 패턴을 확인할 수 있습니다.

이론 커브와 실제 데이터의 차이: 이론 커브는 해당 파워를 1시간 일정하게 유지했을 때의 지방연소량입니다. 실제 라이딩에서는 파워가 계속 변하기 때문에, 같은 평균 파워라도 고강도 구간이 섞일수록 지방연소량은 이론값보다 낮아집니다.

6. 지방연소 분석 페이지

페이지 상단의 통계 카드 4개가 최근 4주 주요 수치를 요약합니다.

4주 시간당
평균 지방연소
38.5 g/h
4주 TSS당
평균 지방연소
1.24 g
최근 라이딩
지방연소
182 g
금주
지방연소
410 g

카드 아래에는 Fat/TSS 효율 뱃지4주 패턴 분석이 표시됩니다. 효율 판정은 최근 17주 평균 ± σ(표준편차) 기준입니다.

지방연소 효율 높음 균형잡힌 지방연소 지방연소 효율 낮음

7. 지방연소 차트 설명

4개의 차트가 순서대로 표시됩니다. PC에서는 17주, 모바일에서는 7주 데이터가 표시됩니다.

🔥

주별 지방연소 & 운동시간

막대(지방연소 g)와 꺾은선(운동시간 h)을 이중축으로 표시합니다. 이번 주 막대는 주황색으로 강조됩니다.

📊

주별 TSS당 지방연소

운동 강도 대비 지방연소 효율 추이. 점선 3개는 17주 평균(회색), 평균+σ(초록), 평균-σ(주황)입니다.

주별 시간당 지방연소

시간당 지방연소량(g/h) 추이. 마찬가지로 17주 기준선 3개(평균, 평균±σ)가 함께 표시됩니다.

📍

일별 TSS vs 시간당 지방연소

산점도. 버블 크기는 총 지방연소량, 주황색 버블은 이번 주 데이터입니다. 버블에 마우스를 올리면 날짜·TSS·시간·g/h가 표시됩니다.

8. 훈련량 분석 페이지

상단 카드 4개가 현재 훈련 상태를 요약합니다. 모든 수치는 Strava 활동의 파워·심박·거리·획득고도 등 데이터를 기반으로 자동 계산됩니다.

42일간
평균훈련량 CTL
87.3
7일간
평균훈련량 ATL
62.1
균형
BAL
+25.2
오늘
훈련량 TSS
94
CTL

장기 체력 지수 (42일 지수 평균)

42일간 누적된 훈련 부하의 지수 평균으로, 현재 체력 수준을 나타냅니다.
150+ 매우 높은 체력  100+ 좋은 체력  50+ 중간  30+ 낮음  ~30 매우 낮음

ATL

단기 피로 지수 (7일 지수 평균)

최근 7일간 훈련 부하의 지수 평균으로, 현재 피로도를 나타냅니다.
100+ 매우 높은 피로  70+ 높은 피로  40+ 중간  ~40 낮은 피로, 회복 중

BAL

폼 지수 = CTL − ATL

체력에서 피로를 뺀 값. 양수일수록 컨디션이 좋은 상태입니다.
+10 초과 최상의 폼 🔥  0~+10 좋은 폼 ✅  −15~0 균형  −30~−15 피로 주의 ⚠️  −30 미만 피로 상태 🚨

TSS

오늘 훈련 부하

당일 라이딩의 훈련 강도 × 시간을 수치화한 값입니다. 훈련이 없으면 0으로 표시됩니다.
~50 적은 훈련  50~100 보통  100~150 많음  150~200 매우 많음 🔥  200+ 극도 🚨

CTL과 ATL의 원리: 매일의 TSS를 지수 가중 평균으로 누적합니다. CTL은 42일, ATL은 7일 상수를 사용하며, 훈련을 쉬면 기존 수치가 서서히 감소합니다.

9. 훈련량 차트 설명

3개의 차트가 순서대로 표시됩니다. 데이터 범위는 화면 크기에 따라 달라집니다.

💪

체력 · 피로 · 폼 (CTL / ATL / Bal)

최근 28일의 CTL(노랑), ATL(주황), Balance(초록) 추이를 꺾은선으로 표시합니다. Balance는 원점 기준으로 면적이 채워져 폼의 양·음을 직관적으로 보여줍니다.

📊

일별 훈련량

PC는 28일, 모바일은 14일 막대 차트. 마지막 막대(오늘)는 주황색으로 강조됩니다. 각 막대 위에 TSS 수치가 표시됩니다.

📅

주별 훈련량

PC는 17주, 모바일은 7주 주별 TSS 합계를 막대로 표시합니다. 이번 주 막대는 주황색으로 강조됩니다. x축은 각 주의 월요일 날짜를 표시합니다.

데이터 기준일: 마지막 기록일 이후 오늘까지 훈련이 없는 날은 TSS 0으로 자동 채워져 CTL·ATL이 감소 반영됩니다.

10. 라이딩맵 🗺️

실외 필드 라이딩 궤적을 지도 위에 한눈에 표시합니다. 가상 라이딩(트레이너·VirtualRide)은 제외됩니다. 연도 선택으로 여러 해의 궤적을 동시에 볼 수 있습니다.

📅

연도 선택 (헤더) PC 전용

헤더의 연도 탭('26 '25 '24 ...)에서 보고 싶은 연도를 체크한 뒤 버튼을 누르면 해당 연도의 라이딩이 표시됩니다. 여러 연도를 동시에 선택할 수 있습니다. 캐시가 없는 연도는 첫 접속 시 Strava API에서 자동으로 수집하며, 연도별로 순차 처리됩니다.

모바일에서는 연도 탭이 표시되지 않으며, URL에 포함된 연도 기준으로 표시됩니다. PC에서 연도를 선택한 URL을 모바일에서 열면 해당 연도의 데이터가 표시됩니다.

헤더 플레이 버튼

헤더의 / 버튼은 하단 재생 컨트롤과 동일하게 동작합니다. 현재 모드(경로/히트), 지도 스타일(밝음/다크)을 그대로 유지한 채 재생/일시정지를 토글합니다. 재생 상태는 상단·하단 버튼이 항상 동기화됩니다.

🖼️

프로필 사진 클릭 — 뷰 토글

헤더의 프로필 사진을 클릭할 때마다 전체 뷰주요 활동 구역(85%)이 번갈아 전환됩니다.
전체 뷰는 모든 라이딩이 보이도록 줌아웃되고, 주요 구역 뷰는 원정·이상치 라이딩을 제외한 85%의 라이딩이 화면에 꽉 차게 맞춰집니다.

🎨

색상 구분

각 라이딩은 주황→살구→노랑→초록→하늘→보라→핑크→연두→연살구→밝은파랑 10가지 색상이 순환 배정됩니다. 사이드바의 색상 점과 지도 위 궤적 색상이 일치합니다.

📋

사이드바 목록

PC에서는 왼쪽 세로 목록으로 표시되며 월 구분선이 sticky로 고정됩니다. 각 항목에는 날짜·거리·시간·획득고도가 표시됩니다.

👆

개별 라이딩 선택

사이드바 항목을 클릭하면 해당 라이딩만 강조되고 지도가 해당 구간에 맞게 확대됩니다. 팝업으로 거리·시간·고도와 Strava에서 보기 링크가 표시됩니다. 같은 항목을 다시 클릭하거나 지도 빈 공간을 클릭하면 전체 보기로 복원됩니다.

🔢

헤더 N개 버튼

헤더 우측의 라이딩 수 버튼(N개)을 클릭하면 개별 선택 상태에서 전체 보기로 돌아옵니다.

재생 컨트롤 (좌하단 패널)

지도 좌하단의 반투명 패널에서 라이딩 궤적을 순서대로 자동 재생할 수 있습니다.
재생 / 일시정지  ·  정지(처음으로)  ·  슬라이더로 재생 속도(×1~×9) 조절

📆

타임라인 (재생 패널 우측)

재생 패널 오른쪽에 월별 진행 막대가 표시됩니다. 재생이 진행될수록 해당 월의 막대가 채워집니다. 재생이 완료된 상태에서 막대를 클릭하면 해당 월의 첫 라이딩으로 바로 이동합니다.

🌙

지도 스타일 전환

지도 오른쪽 상단의 ☀️ 밝음 / 🌙 다크 버튼으로 지도 배경을 전환할 수 있습니다.

🔥

폴리라인 모드 전환

🎨 경로 버튼은 라이딩별 고유 색상으로 궤적을 표시합니다. 🔥 히트 버튼으로 전환하면 많이 달린 구간일수록 굵고 진하게 표시되는 밀도 히트맵으로 바뀝니다.
히트맵은 처음 전환 시 빌드 시간이 있지만 이후 ON/OFF는 즉시 반응합니다. 다크/밝음 전환 시 색상이 자동으로 재계산됩니다.

동영상 녹화 PC 전용

재생 컨트롤 패널과 헤더의 버튼으로 라이딩 궤적 재생 장면을 동영상으로 저장할 수 있습니다.
녹화를 시작하면 좌표 캐시 빌드 → 지도 타일 로드 순서로 준비가 진행되며, 준비 완료 후 재생과 녹화가 동시에 시작됩니다. 녹화 중 버튼을 다시 클릭하면 즉시 중단되고 파일이 저장됩니다.
경로 모드: 검정 배경에 라이딩별 컬러 궤적이 순서대로 그려지는 영상이 저장됩니다.
히트맵 모드: 라이딩이 누적될수록 색상과 굵기가 실시간으로 변하는 밀도 히트맵 영상이 저장됩니다.
저장 형식은 브라우저가 지원하는 경우 MP4(H.264), 미지원 시 WebM으로 자동 선택됩니다.

녹화 버튼은 모바일에서는 표시되지 않습니다. 녹화 전 연도 선택을 먼저 적용해두세요 — 녹화 시작 후 연도를 바꾸면 페이지가 리로드됩니다.
모바일에서는 사이드바가 화면 하단에 가로 스크롤 목록으로 표시됩니다. 지도는 상단에 배치되며, 항목을 좌우로 스크롤해 선택할 수 있습니다. 월의 첫 번째 라이딩 항목에는 월 뱃지가 표시됩니다. 재생 컨트롤 패널의 타임라인 너비는 모바일에서 좁게 조정됩니다.
polyline 데이터가 없는 활동(GPS 없이 기록된 활동 등)은 지도에 궤적이 표시되지 않습니다. 사이드바에는 나타나지만 지도 선택 시 이동이 되지 않을 수 있습니다.

11. 새 활동 업로드 시 자동 반영

Strava에 새 라이딩 활동을 올리면 자동으로 데이터가 갱신됩니다.

활동이 업로드되면 서버가 Webhook 이벤트를 수신하고, 해당 활동의 설명(Description) 맨 위에 아래와 같은 분석 정보를 자동으로 추가합니다.

🔥지방 182g (45%) 시간당 38g 최고연소 💎[12~78km구간] 32km/h, NP 241W 📊훈련량 94 (75% 225W) 7일누적 312 💪장기87 단기62 ⚖️+25 안정적훈련중 '26 🚴3,421km 📈28,500m ⏱210h 🟩Field: 2,800km 🟦Virtual: 621km 🟩22,000m (180:30) 🟦6,500m (42:15)
🔥

지방 연소 요약

🔥지방 {g} ({%}) 시간당 {g/h} {코멘트}
해당 라이딩에서 소모된 지방량(g), 전체 칼로리 대비 지방 비율(%), 시간당 지방 연소 속도를 표시합니다.
코멘트는 강도(IF)와 시간당 지방 소모량 조합으로 판정됩니다.
예) 균형연소 최적연소 최고연소 👍 🏆

💎

메인 라이딩 구간 평속 · NP

💎[{시작km}~{종료km}km구간] {평속}km/h, NP {NP}W
전체 라이딩에서 워밍업과 쿨다운 구간을 자동으로 제외한 본 라이딩 구간의 평균 속도와 NP(Normalized Power)를 표시합니다.

표시 조건
실외 라이딩에만 표시됩니다(가상·트레이너 제외).
총 라이딩 시간 1시간 미만 또는 총 정지시간 10분 미만(논스톱·오토포즈 ON 등)인 경우에는 워밍업·쿨다운 제거 없이 💎총 {평속}km/h, NP {NP}W, {케이던스}rpm 형식으로 표시됩니다.
NP는 파워미터 데이터가 있을 때만 표시됩니다.
계산된 구간이 5km 미만이면 표시되지 않습니다.

📊

훈련 부하 (TSS)

📊훈련량 {TSS} ({IF}% {NP}W) 7일누적 {TSS}
파워미터 또는 FTP가 있으면 NP가 함께 표시되고({IF}% {NP}W), 없으면 강도지수만 표시됩니다(강도 {IF}%). 데이터가 부족해 강도를 추정할 수 없는 경우 강도 표시가 생략됩니다.
FTP가 새로 갱신된 라이딩에는 🏆 트로피가 붙습니다 (예: 75%🏆241W).
7일누적은 최근 7일간 TSS 합산으로 주간 훈련량 추적에 활용됩니다.

💪

피트니스 상태 (CTL / ATL / BAL)

💪장기{CTL} 단기{ATL} ⚖️{BAL} {상태메시지}
활동 직후 시점의 장기체력(CTL·42일), 단기피로(ATL·7일), 폼(BAL = CTL−ATL)을 표시합니다.
상태 메시지는 BAL 범위와 TSS·IF 조합으로 결정됩니다.
예) 안정적훈련중 균형잡힌훈련 피로누적고강도 과훈련주의 Good condition

🚴

연간 라이딩 누적 (올해 1월 1일부터 누적 마일리지)

'{연도} 🚴{총km}km 📈{총고도}m ⏱{총시간}h
🟩Field: {실외km}km 🟦Virtual: {실내km}km
🟩{실외고도}m ({실외시간}) 🟦{실내고도}m ({실내시간})
올해 1월 1일부터 현재까지의 라이딩 누적 거리·고도·시간을 실외(Field)와 실내/트레이너(Virtual)로 구분하여 표시합니다.
러닝/걷기 활동은 🟩'{연도} Foot: {km} / ⏱{시간}, 수영은 🟦'{연도} Swim: {km} / ⏱{시간}으로 표시됩니다.

TSS와 지방연소량은 활동의 파워·심박 데이터를 기반으로 계산됩니다. 파워미터나 심박계 없이 기록된 활동은 거리와 획득고도로 유추된 추정값으로 계산될 수 있습니다.

12. 제목 자동수정

실외 라이딩 활동이 업로드되면 제목이 두 단계로 자동 수정됩니다. 가상 라이딩(트레이너·VirtualRide)·실내 활동에는 적용되지 않습니다.

1

날씨 이모지 추가 (업로드 직후)

업로드 후 약 10초 뒤 활동 시작 좌표와 시각을 기준으로 날씨 이모지를 제목 맨 앞에 붙입니다.
이모지 종류: ☀️ 🌤️ ⛅ 🌟 ⭐ 🌙 🌫️ 🌦️ 🌧️ 🌨️ ⛈️ ⛄ ☔ (낮/밤·날씨 조합으로 자동 선택 — 🌟⭐🌙은 밤 전용)
이미 날씨 이모지가 붙어있으면 중복 추가되지 않습니다.

2

자동 제목 생성 (업로드 수십 초~5분 후)

거리·구간·시간대·날씨·강도를 조합해 제목을 자동으로 완성합니다.
형식: {날씨이모지}{거리} {지명/업힐} {태그}
예) ☀️100km 화악산 업힐 빡라   🌦️ 우라   🌟100km+ 야간빡라   ☀️ 새라

태그조건
새라출발 시각 오전 6시 이전
야라출발 시각 오후 7시 이후
빡라강도(IF) 90% 이상 + 2시간 이상
우라비/이슬비 날씨
조합새벽우중빡라, 야간우라 등 복합 조합 가능
자동 제목이 적용되지 않는 경우
가상 라이딩(트레이너·VirtualRide)·실내 활동·러닝·수영에는 자동 제목이 생성되지 않습니다.
GPS 좌표가 없으면 날씨 이모지도 추가되지 않습니다.
거리 90km 미만이고 태그 조건도 없으면 제목 변경이 없을 수 있습니다.
업로드 후 수동으로 제목을 바꿨다면, 자동 제목이 기존 제목 뒤에 붙을 수 있습니다.

13. 데이터 수동 수정 PC 전용

자동 계산된 값이 실제와 다를 경우, PC에서 본인 계정으로 로그인한 상태라면 직접 수정할 수 있습니다.

PC 전용 기능입니다. 모바일에서는 버블을 클릭해도 수정 팝업이 열리지 않습니다.
1

메인 페이지 접속

mokro.kro.kr 접속 시 로그인 상태라면 바로 4가지 메뉴 버튼이 표시됩니다. 세션이 만료된 경우 앱 시작으로 다시 인증합니다.

2

🔥 지방연소 페이지로 이동

🔥 지방연소 버튼을 클릭합니다.

3

📍 일별 TSS vs 시간당 지방연소

수정하고 싶은 날짜의 버블을 클릭하면 수정 팝업이 열립니다.

4

TSS · 시간 · 지방 수정 후 저장

현재 값이 기본으로 표시됩니다. 수정 후 저장을 누르면 즉시 반영되고 모든 차트가 새로 그려집니다. 칼로리는 지방 비율에 맞춰 자동 보정됩니다.

수정 팝업 미리보기:

14. 서비스 해제 방법

언제든지 PC Strava 앱 설정에서 연동을 해제할 수 있습니다.

1

Strava Settings 접속

PC Strava 웹에서 Settings → My Apps로 이동합니다.

2

Annual mileage 앱 삭제

목록에서 Annual mileage를 찾아 Revoke Access를 클릭합니다. 이후 서비스는 더 이상 활동 데이터에 접근하지 않습니다.