vibemafiaclub/mofit-ios

62
GitHub 스타
32
포크
Swift
언어
미표기
라이선스
2026.04.24
최근 푸시
2026.04.22
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
이 프로젝트는 실시간 자세 인식과 AI 피드백을 결합한 혁신적인 피트니스 앱으로, Vision 프레임워크와 Claude API의 활용법을 참고하기 좋습니다. 특히 SwiftUI + MVVM 구조와 SwiftData를 사용한 데이터 관리 방식은 iOS 개발자에게 유용한 레퍼런스가 될 수 있습니다.

강점

  • Apple의 Vision 프레임워크를 활용하여 별도 하드웨어 없이 iPhone 카메라만으로 실시간 스쿼트 자세 분석 및 카운팅이 가능합니다.
  • Claude AI를 통한 개인 맞춤 피드백과 코치 스타일 선택 기능으로 사용자 경험을 차별화했습니다.
  • MVVM 아키텍처와 SwiftData를 사용하여 코드 구조가 명확하고 현대적입니다.

약점

  • AI 코칭 기능은 로그인 시에만 제공되어 오프라인에서는 사용할 수 없습니다.
  • Anthropic Claude API 키가 필요하므로 추가 비용과 설정이 필요합니다.
  • iOS 17.0 이상만 지원하여 구형 기기에서는 사용할 수 없습니다.

주의사항

  • 카메라 권한 및 개인정보 보호에 대한 사용자 동의가 필요합니다.
  • 자율 주행 하네스(cc-system)는 로컬에서 수동으로 실행해야 하며, CI/CD에 자동으로 포함되지 않습니다.
  • 무인 모드(HARNESS_HEADLESS) 사용 시 주의가 필요하며, 수동 쉘에서 직접 export하지 말아야 합니다.

시작 가이드

  • 저장소를 클론하고 Secrets.example.swift를 참고하여 API 키를 설정한 후 XcodeGen으로 프로젝트를 생성해봅니다.
  • 실제 기기에서 카메라 기반 스쿼트 카운팅을 테스트해보고 정확도를 평가합니다.
  • 자율 주행 하네스(cc-system) 문서를 읽고 로컬 개발 워크플로우에 적용할 수 있는지 검토합니다.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

Mofit

iPhone 카메라만으로 스쿼트를 자동으로 세는 iOS 앱

Made by VibeMatfia. (제작 영상)

소개

Mofit은 iPhone 카메라와 Apple Vision 프레임워크를 활용하여 스쿼트 자세를 실시간으로 분석하고, 횟수를 자동으로 세는 앱입니다. Claude AI 기반 개인 맞춤 피드백은 로그인 시 부가 가치로 제공됩니다.

주요 기능

  • 실시간 스쿼트 자세 분석 — Vision 프레임워크로 hip–knee–ankle 각도를 추적해 폼을 실시간 분석
  • 자동 rep 카운팅 — 무릎 각도 기반으로 스쿼트 횟수를 자동 측정 (서있음>160° → 앉음<100° → 서있음 = 1 rep)
  • 핸즈프리 트리거 — 손바닥 펼침 1초 또는 화면 탭으로 스쿼트 세트 시작/종료
  • AI 코칭 — Claude AI 가 운동 이력과 사용자 프로필을 기반으로 맞춤 피드백 제공 (로그인 시)
  • 코치 스타일 선택 — 강한 동기부여 / 따뜻한 격려 / 데이터 분석형 중 선호 스타일 선택
  • 운동 기록 관리 — 날짜별 스쿼트 세션 기록 조회

기술 스택

항목 기술
UI SwiftUI
데이터 SwiftData
자세 인식 Vision (Human Pose Detection)
제스처 인식 Vision (Hand Pose Detection)
카메라 AVFoundation
AI 코칭 Anthropic Claude API
빌드 XcodeGen
아키텍처 MVVM

요구 사항

  • iOS 17.0+
  • Xcode 15.0+
  • Swift 5.9+

설치 및 실행

# 1. 저장소 클론
git clone https://github.com/your-org/mofit-ios.git
cd mofit-ios

# 2. API 키 설정
cp Mofit/Config/Secrets.example.swift Mofit/Config/Secrets.swift
# Secrets.swift에 Anthropic API 키 입력

# 3. Xcode 프로젝트 생성
xcodegen generate

# 4. Xcode에서 열기
open Mofit.xcodeproj

프로젝트 구조

Mofit/
├── App/            # 앱 진입점, 루트 뷰 라우팅
├── Camera/         # 카메라 캡처 및 프리뷰
├── Config/         # API 키 등 설정
├── Models/         # SwiftData 모델 (UserProfile, WorkoutSession, CoachingFeedback)
├── Services/       # 핵심 비즈니스 로직
│   ├── PoseDetectionService    # 자세 인식
│   ├── HandDetectionService    # 손 제스처 인식
│   ├── SquatCounter            # 레프 카운팅
│   ├── ClaudeAPIService        # AI 코칭 API
│   └── CameraManager           # 카메라 세션 관리
├── Utils/          # 테마 설정
├── ViewModels/     # 상태 관리 (TrackingVM, CoachingVM)
└── Views/          # SwiftUI 화면
    ├── Coaching/       # AI 코칭
    ├── Home/           # 홈 (스쿼트 시작, 오늘의 요약)
    ├── Onboarding/     # 온보딩 (프로필 설정)
    ├── Profile/        # 프로필 편집
    ├── Records/        # 운동 기록
    └── Tracking/       # 실시간 운동 추적

자율 주행 하네스

이 레포는 greatSumini/cc-system 의 자율 주행 하네스를 사용한다. python3 scripts/run-server.py 가 ideation → plan-and-build → commit → build-check → rollback 루프를 반복하면서 iterations/<N>-<timestamp>/ 하위에 산출물을 쌓는다.

  • 트리거: 사용자가 로컬에서 run-server.py 를 실행 (CI/자동 기동 아님).
  • 컨텍스트 파일: docs/mission.md, docs/spec.md, docs/testing.md, docs/user-intervention.md, persuasion-data/personas/*. 하네스가 이들을 주 참조서로 쓴다.
  • 무인 모드: run-server.py 가 자식 claude 세션에 HARNESS_HEADLESS=1 을 주입하면 skill 들이 사용자 확인 단계를 모두 자동 승인한다. 수동 쉘에서 이 변수를 직접 export 하지 말 것.
  • 출력: iterations//requirement.md(아이디에이션 결과), iterations//check-report.json, tasks/<id>/phaseN.md (구현 계획).

라이선스

All rights reserved.

원본 저장소: vibemafiaclub/mofit-ios

라이선스: 미표기

게재 제외를 원하시면 삭제 요청을 보내주세요.