Service Spec: Estimate your Metabolism
1. App Identity
| 항목 | 내용 |
|---|---|
| 앱 이름 | MetabolismWorks (가안) |
| 태그라인 | Estimate your Metabolism |
| 카테고리 | Health & Fitness |
| 플랫폼 | iOS (iPhone + Apple Watch) |
| 디자인 | Tab0 Design System |
네이밍 후보
| 후보 | 장점 | 단점 |
|---|---|---|
| MetabolismWorks | Tab0 컨벤션 통일 (xxxWorks) | 길다 (16자) |
| MetaboWorks | 짧음, 컨벤션 유지 | "Metabo" 어색할 수 있음 |
| Metabl | 짧고 현대적 | 컨벤션 이탈 |
| EstiMet | 태그라인에서 파생, 짧음 | 의미 불명확 |
→ 네이밍은 별도 결정. 이하 문서에서는 "이 앱"으로 표기.
2. Target Users
Primary
"다이어트 중인 Apple Watch 사용자"
- 25-45세, 체중 감량 또는 관리 목표
- TDEE/BMR 계산기를 써봤지만 불만족
- 음식 로깅 앱(MFP, MacroFactor)을 써봤지만 귀찮아서 이탈
- Apple Watch를 매일 착용
Secondary
"단식 실천자" (FastingWorks 기존 사용자)
- 간헐적 단식 중 대사 변화에 대한 궁금증/불안
- 이미 건강 데이터 추적에 익숙
Tertiary
"건강 최적화 추구자" (Biohacker / Longevity)
- HRV, 혈당, 수면 등 다양한 건강 지표 추적
- Tab0 앱 여러 개 사용 가능
3. Core Value Loop
사진 찍기 (Input)
↓
AI가 매크로 + 미량 영양소 추정 (Processing)
↓
Apple Watch 센서 데이터와 결합 (Integration)
↓
대사 추정 + 인사이트 (Output)
↓
"아, 이래서 내 대사가 이렇게 변했구나" (Aha Moment)
↓
다음 끼니에 사진 찍기 (Retention Loop)
4. 데이터 아키텍처
4.1 입력 데이터
| 소스 | 데이터 | 수집 방식 | 빈도 |
|---|---|---|---|
| 음식 사진 | 매크로 (kcal, P, C, F) + 미량 영양소 (비타민, 미네랄) | 사용자 사진 촬영 | 매 끼니 |
| Apple Watch | 안정시 심박수 (RHR) | HealthKit 자동 | 매일 |
| Apple Watch | 심박변이도 (HRV) | HealthKit 자동 | 매일 |
| Apple Watch | 안정시 에너지 (Resting Energy) | HealthKit 자동 | 매일 |
| Apple Watch | 활동 에너지 (Active Energy) | HealthKit 자동 | 매일 |
| Apple Watch | 운동 기록 | HealthKit 자동 | 이벤트 기반 |
| Apple Watch | 수면 데이터 | HealthKit 자동 | 매일 |
| 체중계 | 체중 | 수동 입력 / 연동 | 매일 (권장) |
| (선택) 기존 앱 | 단식 기록 (FastingWorks) | App Group 공유 | 이벤트 기반 |
| (선택) 기존 앱 | 혈당 데이터 (GlucoseWorks) | App Group 공유 | 이벤트 기반 |
| (선택) 기존 앱 | HRV 상세 (HRVWorks) | App Group 공유 | 이벤트 기반 |
4.2 처리 파이프라인
[음식 사진] → Vision AI API → 영양소 추정 (매크로 + 미량)
↓
┌─────┴─────┐
│ 섭취 데이터 │
└─────┬─────┘
↓
[Apple Watch] → HealthKit → ┌──────┴──────┐
│ 에너지 밸런스 │
│ 엔진 │
[체중 입력] ───────────────→│ │
└──────┬──────┘
↓
┌─────────┴─────────┐
│ Adaptive Algorithm │
│ (체중 추세 보정) │
└─────────┬─────────┘
↓
┌───────────┴───────────┐
│ 대사 추정 + 트렌드 │
│ + 영양소-대사 상관관계 │
└───────────────────────┘
4.3 출력 데이터
| 출력 | 설명 | 갱신 주기 |
|---|---|---|
| 추정 대사량 | 적응형 TDEE/BMR 추정값 | 매일 |
| 대사 트렌드 | 주간/월간 대사 변화 그래프 | 주 1회 |
| 영양소 상관관계 | 미량 영양소 변화 ↔ 대사 지표 변화 연결 | 주 1회 |
| 대사 인사이트 | 자연어 인사이트 ("철분 부족 → 에너지 하락") | 주 1회 |
| 일일 영양 리포트 | 매크로 + 미량 영양소 요약 | 매일 |
5. 핵심 화면 구성
5.1 탭 구조
┌────────────────────────────────────┐
│ [Today] [Trends] [Nutrients] │
└────────────────────────────────────┘
5.2 Today (홈)
오늘의 대사 스냅샷 + 음식 사진 로그.
┌─────────────────────────────────┐
│ Today's Metabolism │
│ ┌─────────────────────────────┐ │
│ │ Estimated TDEE 2,187 │ │
│ │ ▲ 3% vs last week │ │
│ └─────────────────────────────┘ │
│ │
│ Intake Today 1,640 kcal │
│ ┌───┐ ┌───┐ ┌───┐ │
│ │🌅│ │🌞│ │🌙│ ← 끼니 사진 │
│ │682│ │540│ │418│ 카드 │
│ └───┘ └───┘ └───┘ │
│ │
│ Key Nutrients │
│ Iron ████████░░ 78% │
│ B12 ██████████ 102% │
│ Mg ██████░░░░ 62% ⚠️ │
│ │
│ [ + 사진 찍기 ] │
└─────────────────────────────────┘
5.3 Trends
대사 변화 트렌드 + 영양소-대사 상관관계.
┌─────────────────────────────────┐
│ Metabolism Trend │
│ ┌─────────────────────────────┐ │
│ │ TDEE (4 weeks) │ │
│ │ ╭──╮ │ │
│ │ ╭╯ ╰──╮ ╭── │ │
│ │╯ ╰──╮╭╯ │ │
│ │ ╰╯ │ │
│ │ 2,100 2,200 2,050 2,187 │ │
│ └─────────────────────────────┘ │
│ │
│ Insights │
│ ┌─────────────────────────────┐ │
│ │ 💡 Iron intake dropped 30% │ │
│ │ last week, correlating │ │
│ │ with 5% resting energy │ │
│ │ decrease. │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ 💡 Your metabolism stayed │ │
│ │ stable during your 16:8 │ │
│ │ fasting window. │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────┘
5.4 Nutrients
영양소 상세 대시보드. 매크로 + 미량 영양소 전체.
┌─────────────────────────────────┐
│ Nutrients (Today) │
│ │
│ Macros │
│ Protein ████████████ 120g │
│ Carbs ██████████░░ 180g │
│ Fat ████████░░░░ 58g │
│ │
│ Key Micronutrients │
│ ┌────────────┬──────┬────────┐ │
│ │ Nutrient │ %DV │ Trend │ │
│ ├────────────┼──────┼────────┤ │
│ │ Iron │ 78% │ ↓ │ │
│ │ Vitamin B12│ 102% │ → │ │
│ │ Magnesium │ 62% │ ↓ │ │
│ │ Zinc │ 89% │ ↑ │ │
│ │ Vitamin D │ 45% │ ↓ │ │
│ │ Vitamin C │ 156% │ ↑ │ │
│ │ Calcium │ 71% │ → │ │
│ └────────────┴──────┴────────┘ │
│ │
│ ⚠️ Low: Vitamin D, Magnesium │
└─────────────────────────────────┘
5.5 사진 촬영 플로우
[카메라 버튼 탭]
↓
[카메라 뷰 - 음식 사진 촬영]
↓
[AI 분석 중... (1-3초)]
↓
[결과 카드]
┌─────────────────────────────┐
│ 📷 점심 │
│ │
│ 682 kcal │
│ P 35g C 72g F 28g │
│ │
│ Key Micros │
│ Iron 4.2mg B12 1.1μg │
│ Mg 45mg Vit C 28mg │
│ │
│ [수정] [확인 ✓] │
└─────────────────────────────┘
사용자가 결과를 확인하고 필요시 수정. 대부분은 그냥 확인.
6. Apple Watch 컴패니언
Watch Complication
| 크기 | 표시 내용 |
|---|---|
| Small | 오늘 추정 TDEE |
| Medium | TDEE + 섭취 대비 % 바 |
| Large | TDEE + 오늘 섭취 + 잔여 칼로리 |
Watch App (최소)
- 오늘의 TDEE / 섭취 요약
- 최근 대사 트렌드 (7일 미니 차트)
- 체중 입력 (Digital Crown으로 빠르게)
7. Tab0 생태계 연동
App Group 데이터 공유
ai.tab0.shared/
├── fasting-sessions.json ← FastingWorks
├── glucose-readings.json ← GlucoseWorks
├── hrv-sessions.json ← HRVWorks
└── metabolism-estimates.json ← 이 앱 (write)
연동 인사이트 (Pro 전용)
| 연동 조합 | 인사이트 예시 |
|---|---|
| FastingWorks + 이 앱 | "16:8 단식 중 대사율이 유지되고 있습니다" |
| HRVWorks + 이 앱 | "HRV 상승 기간에 안정시 대사량도 함께 증가했습니다" |
| GlucoseWorks + 이 앱 | "혈당 안정 구간에서 지방 대사 효율이 높아졌습니다" |
| 3개 앱 모두 + 이 앱 | "종합 대사 건강 점수: 82/100 (상위 15%)" |
8. 수익 모델
티어 구조
| 티어 | 기능 | 가격 |
|---|---|---|
| Free | 하루 1끼 사진 분석, 매크로만, 기본 TDEE 추정, 7일 이력 | $0 |
| Pro | 무제한 사진, 매크로+미량 영양소, 적응형 TDEE, 대사 트렌드, 인사이트 | $29.99/yr |
| Bundle | Pro + FastingWorks + HRVWorks (또는 전체 Tab0 앱) | $49.99/yr |
Free → Pro 전환 트리거
- 1끼 제한: 하루 1끼만 무료 → "오늘 점심도 분석할까요?" 프롬프트
- 미량 영양소 잠금: 매크로는 보여주되, 미량 영양소는 블러 처리 → "Pro에서 unlock"
- 7일 후 트렌드 잠금: 첫 주 트렌드를 보여준 후 → "더 보려면 Pro"
- 인사이트 티저: "철분과 대사의 상관관계를 발견했습니다. Pro에서 확인"
9. 기술 스택
| 영역 | 기술 | 비고 |
|---|---|---|
| iOS App | SwiftUI + Swift 6 | Tab0 Design System |
| Watch App | SwiftUI (watchOS) | HealthKit, Complications |
| AI 영양소 추정 | Claude API / GPT-4V / Gemini | 초기: API, 이후 온디바이스 |
| 데이터 저장 | SwiftData (로컬) | 프라이버시 우선 |
| 체중 추세 엔진 | 온디바이스 알고리즘 | Exponential moving average |
| HealthKit | Apple HealthKit SDK | HR, HRV, Energy, Sleep |
| 앱 간 공유 | App Group + UserDefaults/Files | Tab0 앱 간 데이터 교환 |
| 분석 | TelemetryDeck / 자체 | 프라이버시 중심 |
AI 영양소 추정 접근
Phase 1 (MVP): Vision API 호출
- 사진 → Claude/GPT-4V API → 구조화된 영양소 JSON 반환
- 비용: ~$0.01-0.03/사진 (하루 3끼 = $0.03-0.09/일/사용자)
- 연간 API 비용: ~$11-33/사용자 (사용량/모델 단가에 따라 변동)
- Pro $29.99/yr 기준, 저비용 구간은 마진이 남지만 고비용 구간(~$33/yr)은 App Store 수수료 전에도 적자 가능
- 운영 조건: API 호출량 상한, 캐싱/재시도 최소화, 온디바이스 전환으로 비용을 ~$10-15/yr 수준으로 낮춰야 안정적 마진 확보 가능
Phase 2: 온디바이스 모델 병행
- Core ML 모델로 일반적인 음식은 로컬 처리
- 복잡한 음식만 API 호출 → 비용 80% 절감 목표
10. MVP 범위
MVP (v1.0) — 핵심 루프만
- 음식 사진 촬영 → AI 영양소 추정 (매크로 + 주요 미량 영양소 10종)
- 체중 수동 입력
- HealthKit 연동 (RHR, HRV, Resting Energy, Active Energy)
- 적응형 TDEE 추정 (체중 추세 + 섭취 + 활동)
- Today 화면 (TDEE + 섭취 + 영양소 바)
- Trends 화면 (TDEE 주간 차트)
- Nutrients 화면 (매크로 + 미량 영양소 리스트)
- Free / Pro 구독 (RevenueCat)
v1.1 — 인사이트 + 연동
- 영양소-대사 상관관계 인사이트 엔진
- FastingWorks 연동
- Watch Complication
- 주간 대사 리포트 (푸시 알림)
v1.2 — 생태계 확장
- HRVWorks / GlucoseWorks 연동
- Tab0 Bundle 구독
- 종합 대사 건강 점수
- 온디바이스 ML 모델 (비용 절감)
11. 핵심 지표 (KPI)
| 지표 | 목표 (6개월) | 측정 방법 |
|---|---|---|
| 다운로드 | 30K | App Store Connect |
| DAU / MAU | > 30% | Analytics |
| 사진 촬영 빈도 | 2.5끼/일/사용자 | 인앱 이벤트 |
| Free → Pro 전환율 | > 8% | RevenueCat |
| 7일 리텐션 | > 20% | Analytics |
| 30일 리텐션 | > 10% | Analytics |
| ARR (6개월 run-rate) | $80K-$120K | RevenueCat |
가정 정렬: 다운로드 30K × 유료 전환 8% = 2,400명 기준, 가격대($29.99-$49.99/yr)에서 연 환산 매출은 대략 $72K-$120K 범위.
12. Go-to-Market
Phase 1: Soft Launch (Month 1-2)
- FastingWorks 기존 사용자에게 인앱 배너로 소개
- TestFlight 베타 → 피드백 수집
- App Store 출시 (US 우선)
Phase 2: Growth (Month 3-6)
- ASO 최적화 ("metabolism tracker", "food photo calorie", "micronutrient tracker")
- Reddit r/loseit, r/intermittentfasting, r/nutrition 커뮤니티
- Product Hunt 론칭
- 건강/피트니스 유튜버 리뷰
Phase 3: Ecosystem (Month 6-12)
- Tab0 Bundle 론칭
- App Store 피처 신청
- Cross-promotion 강화
변경 이력
| 날짜 | 변경 내용 |
|---|---|
| 2026-02-19 | 초안 작성 |