안녕하세요. 독일에서 혼자 iOS 앱을 만드는 Konrad Kern입니다.
올해 여름에 DopamineOS라는 앱을 App Store에 냈습니다. 한 줄로 말하면 진짜 폰 안에서 돌아가는 가짜 폰 OS예요. 요즘 앱들이 쓰는 보상 장치(끝없는 피드, 이유 없는 좋아요, 연속 기록, 빨간 배지)를 과장해서 보여 주는 풍자 앱이자, 그냥 웃긴 장난감입니다.
이 글은 홍보보다는 만들면서 정한 규칙과 기술적인 선택, 그리고 한국어 현지화를 어떻게 했는지 정리한 기록입니다.
앱을 열면 반짝이지만 하나같이 쓸모없는 미니 앱으로 가득한 홈 화면이 나옵니다.
탭할 때마다 Sparks라는 가짜 화폐가 쌓이고, Vault에서 배경화면·아이콘 팩·사운드 팩 같은 꾸미기 아이템에 쓸 수 있습니다. 현금화는 당연히 안 됩니다.
저장소 README에 제일 먼저 적어 둔 원칙이 있습니다. 풍자가 성립하려면 앱이 자기가 패러디하는 해로운 행동을 스스로 하지 않아야 한다는 것입니다. 그래서 코드 차원에서 몇 가지를 못 박았습니다.
UNUserNotificationCenter나 requestAuthorization이 없습니다. 칭찬 일색의 가짜 알림은 RootView의 포그라운드 전용 루프가 앱을 쓰는 동안에만 배너로 띄웁니다. 앱을 닫으면 조용합니다. 실제 홈 화면에 배지도 달지 않습니다.@Observable(Observation 프레임워크). 배포 타깃 iOS 17, Swift 5 언어 모드project.yml이 원본이고 .xcodeproj는 커밋하지 않습니다DopamineStore라는 @Observable 객체 하나가 전부 들고 있습니다. Sparks 경제, 통계, 인벤토리, 꾸미기, 연속 기록, 업적, 내비게이션, 가짜 알림, 제어 센터 상태까지요. .environment(...)로 한 번 주입하고 @Environment(DopamineStore.self)로 읽습니다Documents/dopamineos_state.json 로컬 JSON 하나입니다. 새 필드는 전부 옵셔널로 추가해서 예전 저장 파일도 그대로 디코딩되게 했습니다ImageRenderer로 이미지로 만들어 시스템 공유 시트로 보냅니다첫 커밋은 2026년 6월 19일의 "Initial commit: DopamineOS MVP"였고, 1.0은 7월 6일에 App Store에 올라갔습니다. 지금 main 브랜치 커밋은 114개입니다.
솔직하게 적어 두면, 개발에는 AI 코딩 도구의 도움을 받았고 앱 아이콘과 일부 이미지도 이미지 생성 도구로 만들었습니다. 저장소의 CLAUDE.md와 커밋 메시지에 그 흔적이 그대로 남아 있습니다.
앱 안에서는 영어와 한국어를 고를 수 있습니다. 시스템 .lproj 대신 작은 런타임 엔진을 직접 만들었습니다.
tr("key")를 거칩니다. en.json과 ko.json 두 파일에 각각 1,707개 키가 있습니다Locale.preferredLanguages를 보고 ko로 시작하면 한국어, 아니면 영어로 정합니다.id가 바뀌면서 뷰 트리가 다시 만들어져 바로 적용됩니다직접 만든 이유는 단순합니다. 언어를 하나만 더 넣는 앱에는 이 정도 무게가 맞았고, 엔진이 시스템 언어와 독립적이어야 iOS 설정을 건드리지 않고 앱 안에서 언어를 바로 바꿀 수 있었습니다.
실수를 막는 장치는 테스트입니다. LocalizationTests가 영어·한국어 키가 짝이 맞는지, 빈 한국어 문자열이 없는지, %@·%lld 같은 플레이스홀더가 양쪽에서 같은지 검사합니다. 반대로 일부러 번역하지 않은 것도 있습니다. DopamineOS, Sparks, 그리고 LikeLoop·CraveCart 같은 가짜 앱 이름은 한국어 화면에서도 영어 그대로 둡니다.
처음 버전에는 앱 안에 패러디용 "App Store"가 있었습니다. 가짜 앱을 "설치"하는 가게였죠. 이건 App Review 가이드라인 3.2.2(i) 때문에 통째로 뺐습니다. 뽑기처럼 보이는 시뮬레이션 요소도 전부 들어냈고, 지금은 Vault에서 원하는 아이템을 Sparks로 바로 사는 방식입니다. 미니 앱은 설정 → 미니앱 관리에서 홈에 넣고 뺍니다.
아쉬웠지만 결과적으로는 원칙에 더 맞는 앱이 됐다고 생각합니다. 보상 루프를 풍자하는 앱에 운에 맡기는 장치가 있을 이유는 없으니까요.
DopamineOS는 무료이고, iOS 17 이상 iPhone에서 돌아갑니다. 앱 설정에서 한국어를 고를 수 있습니다.
혼자 만든 앱이라 한국어 표현이 어색한 곳이 분명히 있을 거예요. 발견하시면 댓글로 알려 주시면 정말 감사하겠습니다.
App Store: https://apps.apple.com/app/id6782207382