Claude Code와 협력하여 iOS에서 결정론적 주행 추적 알고리즘을 구축했습니다
요약
개발자가 Claude Code를 활용하여 iOS 마일리지 추적 앱인 EveryLastMile을 개발하고 출시한 사례를 공유합니다. Claude Code가 리팩토링과 테스트 코드 작성에서 큰 도움을 주었으나, 실제 센서 데이터 기반의 디버깅은 인간의 역할임을 강조합니다.
핵심 포인트
- Claude Code는 리팩토링, 마이그레이션, 테스트 스캐폴딩 작업에 매우 강력함
- 코드베이스 외부의 물리적 데이터(센서, 실제 환경) 검증은 AI가 대신할 수 없음
- AI 도구를 사용하여 AI 기능이 없는 결정론적 알고리즘 앱을 구축 가능
안녕하세요, 1인 개발자 Josh입니다. 약 한 달 전, 저는 Claude Code를 적극적으로 활용하여 밤낮과 주말을 이용해 만든 iOS 마일리지 추적기인 EveryLastMile을 App Store에 출시했습니다. (30일 무료 체험 가능, 신용카드 불필요)
저는 Claude Code가 실제로 어떤 부분에서 업무를 주도적으로 수행했는지, 그리고 어떤 부분에서 한계에 부딪혔는지에 대해 기록하고 싶었습니다. 왜냐하면 그 한계가 성공했을 때보다 저에게 더 많은 것을 가르쳐 주었기 때문입니다.
iOS 빌드의 핵심
마일리지 추적기에서 어려운 부분은 배터리를 소모하지 않으면서 백그라운드에서 주행을 감지하는 것과, GPS가 실제 시작 지점을 파악하기 전에 주행의 기점을 확정하는 것입니다. 저는 엄격한 동시성 (strict concurrency) 설정이 적용된 Swift 6.2를 사용하여, 액터 (actor) 기반의 9단계 상태 감지 머신 (state detection machine)을 구축했습니다:
유휴 (idle) → 주행 활동 탐색 → 주행 활동 중 → 주행 중지 → 유휴 (idle)
...이 과정은 CoreLocation과 CoreMotion을 통해 데이터가 공급됩니다. 동시성 (concurrency), 백그라운드 실행 (background execution), 그리고 노이즈가 많은 실제 센서 데이터를 동시에 다뤄야 했습니다.
Claude가 저를 도와준 부분
[IMG:1]
단순한 구조에서 9개 상태로 확장됨에 따라 상태 머신 (state machine)을 리팩토링 (refactoring)하는 작업.
[IMG:2]
상태 전이 (transitions)에 대한 테스트 커버리지 (test coverage) — Claude가 전이 테스트의 대부분을 작성해주었고, 덕분에 저는 두려움 없이 리팩토링을 진행할 수 있었습니다.
누군가에게 도움이 될 만한 패턴을 말씀드리자면, Claude Code는 저장소 내에 명확한 근거 (ground truth)가 있는 코드 형태의 문제, 즉 마이그레이션 (migrations), 리팩토링 (refactors), 테스트 스캐폴딩 (test scaffolding) 작업에서 가장 강력했습니다. 이러한 작업들 덕분에 몇 주를 아낄 수 있었습니다.
제가 Claude를 지원해야 했던 부분
앱이 실제로 작동할지 여부를 결정하는 부분은 모델이 아니라, 움직이는 차 안에서 디버깅 (debugging)하며 얻은 결과물들이었습니다:
[IMG:3]
자전거와 자동차를 구분하는 오탐 (false-positive) 휴리스틱 (heuristic).
[IMG:4]
교훈: 근거 (ground truth)가 코드베이스 외부, 즉 센서의 동작, 특정 iOS 빌드, 실제 자동차 안에 있을 때, AI 코딩 도구는 그 루프를 대신 닫아줄 수 없습니다. 당신은 여전히 직접 차를 몰고 나가야 합니다.
다시 한번 말씀드리지만..
오늘날 이 앱 자체에는 AI/ML 기능이 전혀 포함되어 있지 않습니다. 감지 방식은 순수한 결정론적 상태 머신 (deterministic state machine)입니다. 저는 의도적으로 AI를 사용하지 않는 앱을 만들기 위해 AI 도구를 사용했으며, 이러한 분업은 정확히 옳다고 느껴졌습니다.
App Store에서 EveryLastMile 다운로드하기
상태 머신 (state machine), 분업 (division of labor) 등에 대해 댓글로 자세히 논의할 수 있다면 기쁘겠습니다. 읽어주셔서 감사합니다!
submitted by /u/hayakuneko
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기