애플 포토를 리버스 엔지니어링해서 나만의 서버용으로 재구축함 – iCloud 없는 iCloud 포토
I reverse-engineered Apple Photos and rebuilt it for my own server – iCloud Photos without iCloud
핵심 요약
Claude Code를 활용해 애플 포토와 유사한 기능을 제공하며 Immich 서버와 연동되는 iOS 앱 'HomeRoll'을 개발했습니다.
- HomeRoll 개발 — 애플 포토를 모방한 오픈소스 iOS 앱으로 Immich 서버와 연동됨
- Claude Code 활용 — 리버스 엔지니어링 및 UI 테스트 자동화에 AI를 적극적으로 사용함
- 비용 절감 — 매달 내는 iCloud 구독료 대신 개인 서버 운영으로 비용을 최소화함
- 기능 구현 — 사진 편집, 검색, 백업 등 애플 포토의 핵심 기능을 대부분 구현함
매달 애플에 돈 갖다 바치면서 내 사진 보관하는 거 지긋지긋해서, 사진이랑 동영상 8만 5천 개 정도 내 개인 서버(Immich)로 다 옮기고 iCloud 사진 꺼버렸다.
애플 사진 앱이랑 똑같이 생기고 똑같이 작동하는 iOS 26 네이티브 앱(SwiftUI + UIKit)인 HomeRoll을 만들었다. Claude Code로 만들었음. 나 원래 iOS 개발자도 아니라서, 코드 거의 다 Claude가 짰다. 나는 뭐 만들지 정하고, 아이폰에 깔아서 테스트해보고 뭐가 구린지 피드백 주는 역할만 함.
이유: iCloud 용량 결제하는 거 개빡쳐서 사진이랑 동영상 8만 5천 개 내 서버로 옮기고 iCloud 사진 꺼버림. 근데 기존에 있던 Immich 앱들은 내가 쓰던 사진 앱이랑 느낌이 너무 달라서 걍 직접 만들기로 했다.
Claude Code 활용법
-
리버스 엔지니어링: Claude가 iOS 26.3의 애플 사진 프레임워크를 리버스 엔지니어링 MCP 서버로 다 뜯어보고, 사진 앱이 할 수 있는 226가지 동작(편집 복사, 인쇄, 숨기기, 대표 사진 설정, 앨범으로 드래그, Spotlight 등)을 싹 다 리스트업했다. 클린룸 방식 유지하려고, 한 에이전트는 그냥 동작 설명("X를 하면 무슨 일이 일어나는가")만 적게 하고, 앱은 애플 코드가 아니라 그 설명들만 보고 짰음.
-
구현: Claude가 그 리스트 보고 앱을 짰다. 226개 동작 중 147개는 지금 돌아감. 62개는 iCloud/애플 서비스 전용이고, 16개는 애플 내부용, 1개는 iOS에서 구현 불가능함.


