
Claude Code를 사용하여 9일 만에 macOS Notch HUD를 App Store에 출시하기 — 113번의 커밋, 809,290개의
요약
Claude Code를 활용하여 9일 만에 macOS용 Notch HUD 앱을 개발하고 App Store에 출시한 과정을 다룹니다. 개발 과정에서 겪은 기술적 시행착오와 AI의 역할 분담에 대한 통찰을 제공합니다.
핵심 포인트
- Claude Code는 AppKit 배관 작업 등 코드 생성에 매우 효율적임
- 디자인 결정, 디버깅 판단, 프로젝트 구조 관리 등은 여전히 인간의 영역임
- App Sandbox 등 플랫폼 제약 사항에 따른 기능 범위 설정의 중요성
- AI 도구 활용 시 생성(Generation)과 판단(Judgment)의 역할 분리 필요
모든 기록을 남겨두었기에 숫자부터 말씀드리겠습니다: 9일간의 커밋, 총 113번의 커밋 중 30번(27%)은 수정(fix) 또는 되돌리기(revert)였습니다. 8번의 Claude Code 세션, 809,290개의 출력 토큰(메시지 ID로 중복 제거 — 원본 로그는 응답을 중복 계산함). 승인 전까지 App Store에서 두 번의 거절을 겪었습니다. 이 앱은 Mac App Store에서 무료로 제공되며, 출시된 버전의 전체 소스 코드는 GitHub에 MIT 라이선스로 공개되어 있습니다. 기능: MacBook의 Notch 바로 아래에 반투명한 시스템 HUD(CPU, 메모리, 네트워크, 디스크, 배터리)를 배치합니다. 세부 패널을 보려면 마우스를 올리세요. Notch가 없는 Mac을 위한 메뉴 바 모드도 지원합니다.
가장 당혹스러웠던 순서대로 나열한 문제점들:
프로젝트 이름 오타가 2.5일 동안 지속되었습니다. 디렉토리, 번들 ID(bundle ID), App Store 기록까지 모두 "Norchit"로 만들었습니다. 새벽 1시에 32개의 파일을 이름을 변경했고, 5분 뒤 두 번째 사고를 발견했습니다: 디렉토리 이름 변경은 커밋되었지만, sed로 편집된 파일 내용은 스테이징(staged)되지 않았습니다. 빌드 도구는 커밋이 아닌 작업 트리(working tree)를 읽기 때문에 빌드는 통과했습니다. "빌드가 되니까 커밋도 괜찮겠지"라는 생각은 그날 밤 사라졌습니다.
AppKit이 창을 조용히 이동시킵니다. Notch 아래에 패널을 고정하기 위해 정확한 좌표를 계산했지만, 창이 그냥... 그곳으로 가지 않았습니다. 오류도, 경고도 없었습니다. NSWindow.constrainFrameRect(_:to:)가 메뉴 바 아래로 창을 조용히 끌어내리고 있었습니다. 해결책은 3줄짜리 오버라이드(override)였습니다.
3시간 동안 만든 글래스 블러(glass-blur) 디자인을 폐기했습니다. 밝은 배경화면에서는 텍스트가 완전히 씻겨 내려가 보이지 않았습니다. 배경을 제어할 수 없다면 반투명함은 의미가 없습니다. 다음 날 아침 90분 만에 플랫(flat) 디자인으로 다시 만들었습니다.
App Sandbox가 당신이 아닌 기능 목록을 결정합니다. 프로세스별 통계와 GPU 카운터는 로컬 빌드에서는 잘 작동하지만, Store를 위해 샌드박스(sandboxed) 처리되면 조용히 빈 값을 반환합니다. 저는 그것과 싸우는 것을 멈추고 샌드박스가 제품의 경계를 그리도록 두었습니다: 샌드박스가 허용하는 모든 것이 앱에 포함됩니다.
Claude Code의 역할 분담에 대하여: 생성(generation)은 위임할 수 있었지만, 판단(judgment)은 아니었습니다. Claude는 대부분의 AppKit 배관 작업(AppKit plumbing)을 작성했습니다(제가 증상을 정확하게 설명할 수 있게 된 후에는 그 constrainFrameRect 오버라이드도 포함해서 말이죠).
하지만 "이 디자인은 틀렸으니 되돌리세요"라거나 "버그를 구석으로 몰아넣기 위해 여기에 로그 라인을 추가하세요"와 같은 작업은 과정 내내 인간의 영역으로 남았습니다. 그 이후의 진행 상황은 다음과 같습니다: Notchit은 완성되었고 안정적이지만, 솔직히 말씀드리면 현재 제가 매일 사용하는 것은 그 후속작입니다. 노치 메커니즘은 제가 구축 중인 조용한 노치 어시스턴트(가칭: Arlen)로 발전했습니다. 이 어시스턴트는 주의가 필요한 상황이 발생하기 전까지는 완전히 보이지 않는 상태를 유지합니다. 여기에는 Claude Code 자체가 사용 한도에 도달할 때, 이를 로컬에서 읽어 노치 아래에서 속삭이듯 알려주는 기능도 포함됩니다 (스크린샷 첨부). 아직 출시되지는 않았습니다. 노치 윈도우(notch windows)에 대해 이 어시스턴트가 알고 있는 모든 것은 이 HUD를 먼저 출시하면서 얻은 경험에서 비롯되었습니다. 앱 (무료, 계정 불필요): https://apps.apple.com/app/notchit-hud/id6762633044 소스 코드 (MIT 라이선스, 출시된 버전, 89개 테스트 포함): https://github.com/illuwa/notchit-pub 워크플로우나 노치 윈도우 메커니즘에 대해 궁금한 점이 있다면 무엇이든 기꺼이 답변해 드리겠습니다. /u/Fit_Somewhere_6538이 제출한, 노치 아래에서 Claude Code 사용 경고를 속삭이는 Arlen (미출시 후속작) [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/ClaudeAI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기