I built a native iPhone app for myself in 2 hours
Quick Summary
I built a native iPhone app for myself in 2 hours를 중심으로, 앱은 매일 밤 다음 날의 최우선 과제와 더 작은 비상 대안을 입력하고, 아침부터는 수정과 완료 취소를 막아 전날의 결정을 지키게를 핵심 판단 포인트로 압축 정리한다.
영상 보기
클릭 전까지는 가벼운 미리보기만 먼저 불러옵니다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 결론
I built a native iPhone app for myself in 2 hours를 중심으로, 앱은 매일 밤 다음 날의 최우선 과제와 더 작은 비상 대안을 입력하고, 아침부터는 수정과 완료 취소를 막아 전날의 결정을 지키게를 핵심 판단 포인트로 압축 정리한다.
📌 핵심 요점
- 앱은 매일 밤 다음 날의 최우선 과제와 더 작은 비상 대안을 입력하고, 아침부터는 수정과 완료 취소를 막아 전날의 결정을 지키게 한다.
- 사용자 한 명과 작업 하나만 고려하면 예외 상황, 장기 지원, 기능 범위를 크게 줄일 수 있어 저녁 한 번의 작업으로도 앱을 완성할 수 있다.
- Codex는 빈 Xcode 프로젝트에서 입력·표시 화면과 상태 로직을 구현했으며, 제작자는 Swift 코드를 직접 작성하지 않고 일곱 번의 프롬프트로 결과물을 만들었다.
- 데이터와 완료 상태는 아이폰 안에만 저장되며, 앱을 완전히 종료한 뒤 다시 실행해도 완료 상태가 유지되고 되돌릴 수 없는 규칙이 작동했다.
- 실기기 설치에는 Apple 계정 서명과 개발자 모드가 필요하며, 무료 개인 팀은 프로필이 7일 후 만료되고 기기당 개발 앱이 세 개로 제한된다.
🧩 배경과 문제 정의
- 기업이 만들 이유는 없지만 개인에게는 꼭 필요한 작은 도구가 있으며, 다음 날의 최우선 과제와 비상용 대안을 기록하는 종이 카드가 그 사례다.
- 다수 사용자를 위한 제품과 달리 사용자와 목적이 하나뿐인 앱은 기능, 예외 상황, 장기 지원 범위를 극단적으로 줄일 수 있다.
- AI 코딩 도구는 스프레드시트·단축어·노션에 머물던 개인 도구를 짧은 시간과 낮은 비용으로 네이티브 앱으로 만드는 선택지를 열었다.
- 백엔드·계정·서버·앱스토어 배포 없이 데이터와 앱을 아이폰 안에만 두는 것이 프로젝트의 핵심 경계였다.
🕒 시간순 섹션별 상세정리
1. 한 사람만을 위한 앱이 성립한 이유
- 제작자는 매일 밤 다음 날의 단 하나의 우선순위와 일이 틀어졌을 때 수행할 대안을 종이 카드에 기록했다. [00:05]
- 사용자 한 명과 작업 하나만 고려하면 기능과 지원 범위를 줄일 수 있고, AI 덕분에 이 개인 도구를 네이티브 앱으로 만드는 방식도 실용적인 선택지가 됐다. [01:56]
2. 행동을 고정하는 다섯 가지 규칙
- 밤에는 주요 과제와 더 작은 대안을 입력하고, 다음 날에는 두 항목 중 하나를 완료하거나 모두 미완료로 남길 수 있다. [02:25]
- 하루가 시작되면 문구를 수정할 수 없고 완료도 되돌릴 수 없으며, 스트릭과 별도 기록 없이 데이터를 휴대폰에만 저장해 어려운 과제를 회피할 여지를 막았다. [02:55]
3. Codex를 통한 구현과 상태 검증
- Codex는 빈 Xcode 프로젝트를 점검한 뒤 내일의 두 과제를 입력하고 오늘의 과제를 표시하는 첫 화면을 구현했다. [03:07]
- 주요 과제의 완료 상태가 되돌아가지 않는지 확인하고, 앱을 완전히 종료한 뒤 다시 열어도 상태가 유지되는지 검증했다. [04:35]
4. 기능 우선의 디자인과 아이콘
- 핵심 기능과 로직을 먼저 완성한 뒤 화면을 조금만 다듬어 완벽한 시각적 마감보다 실제 사용 가능한 상태를 우선했다. [04:57]
- 이미지용 ChatGPT가 첫 시도에서 생성한 아이콘을 그대로 적용했고, 기능과 아이콘을 연결한 시뮬레이터 버전도 정상 작동했다. [05:48]
5. 실기기 설치 준비
- 실제 아이폰에는 서명된 개발 빌드가 필요했으며, 제작자는 Xcode 편집기를 열었지만 Swift 코드는 한 줄도 직접 작성하지 않았다. [06:05]
- 연결된 아이폰과 Apple 계정으로 빌드 서명을 준비하고, 개발자 모드를 활성화한 뒤 기기를 재시작해 실행 조건을 갖췄다. [07:24]
6. 서명 오류 해결과 설치 성공
- 실제 기기를 대상으로
Command+R을 실행한 첫 빌드는 개발 팀이 지정되지 않았다는 서명 오류로 실패했다. [08:12] - Xcode에서 개발자 계정을 팀으로 선택해 설치에 성공했고, 일곱 번의 프롬프트로 만든 앱에서 다음 날의 과제를 실제로 저장했다. [09:44]
7. 개인 설치의 제약과 보완 역할
- TestFlight나 앱스토어 출시는 필요 없지만 무료 개인 팀은 프로필이 7일 후 만료되고 기기당 개발 앱이 세 개로 제한된다. [10:00]
- 데이터는 서버나 계정 없이 휴대폰에 남으며, 종이 카드의 물성과 기록은 유지하되 카드를 가지고 있지 않을 때 앱이 그 역할을 보완한다. [10:51]
8. 로컬 전용 선택이 줄인 비용
- 앱을 다른 사람과 공유하면 계정·동기화·서버·보안·유지보수가 필요하지만, 로컬 전용 앱은 그 책임을 모두 피할 수 있다. [12:11]
- 실제 녹화 빌드는 2시간, 사전 준비는 1시간이었고 일곱 개 프롬프트 중 두 개는 로직 강화, 하나는 아이콘 생성에 사용됐다. [12:40]
- 스프레드시트에 남아 있는 반복 규칙이나 작은 우회책도 몇 번의 프롬프트로 앱을 만든 뒤 앱스토어 절차 없이 휴대폰에 직접 설치할 수 있다는 가능성을 제시했다. [14:56]
9. 단 한 명으로 한정된 사용자 기반
- 이 앱의 사용자 기반은 여러 고객이 아니라 단 한 명으로 한정된다. [15:02]
- 그 한 명의 최종 사용자는 불특정 고객이 아니라 앱을 만든 개발자 자신이다. [15:17]
🧾 결론
- 핵심 성공 요인은 기능을 많이 넣는 것이 아니라 사용자, 목적, 저장 위치, 배포 방식을 의도적으로 좁힌 데 있다.
- AI는 구현 비용을 낮췄지만, 행동 규칙을 명확히 정의하고 상태 저장과 되돌림 금지를 검증하는 일은 제작자의 몫이었다.
- 이 앱은 종이 카드를 완전히 없애기보다 카드를 가지고 있지 않을 때 같은 규칙을 실행하는 보완 도구로 자리 잡았다.
📈 투자·시사 포인트
- AI 코딩 도구는 상업적 수요가 부족했던 한 사람용 초소형 소프트웨어도 제작 가능한 영역으로 옮기고 있다.
- 계정·동기화·서버·앱스토어 배포를 제외하는 로컬 전용 설계는 개발뿐 아니라 보안과 유지보수 책임까지 줄이는 강력한 비용 통제 수단이다.
- 제작 비용이 낮아져도 코드 서명, 개발자 모드, 무료 프로필 만료 같은 플랫폼 제약은 남으므로 개인용 앱의 실용성은 설치·갱신 마찰까지 함께 평가해야 한다.
⚠️ 불확실하거나 확인이 필요한 부분
- 제목의 2시간은 실제 녹화 빌드 시간이며, 별도의 사전 준비 1시간이 포함되지 않았으므로 모든 개인용 앱을 같은 시간 안에 만들 수 있다는 의미는 아니다.
- 일곱 번의 프롬프트로 완성한 사례는 사용자와 기능이 극도로 제한된 앱에 관한 것이어서, 더 복잡한 데이터·동기화·공유 기능에도 같은 생산성이 유지되는지는 확인되지 않았다.
- 무료 개인 팀의 7일 만료와 기기당 개발 앱 세 개 제한은 실제 설치 시점의 Apple 계정 조건과 함께 다시 확인필요가 있다.
- 자막 기반 정리: 타임스탬프가 있는 자막을 기준으로 정리했으며, 고유명사·수치·인용은 원문 확인 필요 시 별도 검증한다.
- 영상 속 주장: 발표자의 해석·전망·비교는 확인된 외부 사실이 아니라 영상 속 주장으로 분리해 읽는다.
- 검증 필요: 수치, 기업 실적, 정책·시장 전망은 발행 전 최신 자료로 별도 검증이 필요하다.
✅ 액션 아이템
- 매일 반복하지만 기존 범용 제품이 과도하게 복잡한 개인 문제 하나를 고르고 사용자와 작업을 각각 하나로 제한한다.
- 입력 시점, 읽기 전용 전환, 완료 가능 조건, 되돌림 허용 여부, 로컬 저장 범위를 구현 전에 규칙으로 고정한다.
- 빈 Xcode 프로젝트에서 핵심 입력·표시·상태 저장 로직부터 Codex로 구현하고 시각적 마감은 이후로 미룬다.
- 앱 종료 후 상태 유지, 완료 동작의 비가역성, 날짜 전환 후 수정 금지를 샘플 데이터로 검증한다.
❓ 열린 질문
- 7일마다 다시 서명해야 하는 무료 개인 팀의 제약이 매일 사용하는 도구의 편의성을 얼마나 떨어뜨리는가?
- 로컬 전용 원칙을 유지하면서 기기 교체나 분실에 대비할 수 있는 최소한의 데이터 이전 방식은 무엇인가?
- 현재 스프레드시트·단축어·노션에 남아 있는 개인 규칙 중 네이티브 앱으로 옮겼을 때 가장 큰 효용을 주는 것은 무엇인가?