나만의 루틴 관리 앱 AI 개발 이야기 #2

🚀 GoalTask(루틴 관리 앱) AI 개발 이야기 #2

72시간의 카페인과 함께한 여정

"iOS 앱 만들어야 하는데..." 로 시작된 5일간의 광기

🦝 아빠 너구리의 깨달음: "맥북이 없으면 인생도 없다?"

GoalTask macOS 버전을 열심히 만들어서 뿌듯하게 사용하던 어느 날이었다.

아빠 너구리는 카페에서 아메리카노를 홀짝이며 생각에 잠겼다. 맥북은 집에 두고 왔고, 손에는 아이폰만 덜렁. 그때 갑자기 번뜩이는 아이디어가 떠올랐다.

"아, 이거 Task로 등록해둬야 하는데..."

 

아이폰을 꺼내 들었지만... GoalTask 앱이 없다. macOS 전용이니까. 결국 카카오톡 '나와의 채팅'에 메모를 남기는 자신을 발견했다. 굴욕이었다. 🥲

그날 이후, 나는 깨달았다. 할 일 관리는 언제 어디서든 필요하다는 것을!

 

📱 모바일 앱이 절실했던 순간들:

☕ 카페에서 갑자기 할 일이 생각났을 때 → 맥북 없음, 메모장 신세
🚶 외출 중 완료한 일을 체크하고 싶을 때 집 가서 해야지... (잊어버림)
📞 친구가 갑자기 약속을 잡았을 때 캘린더 앱 따로, 할일 앱 따로... 혼돈
🛒 마트에서 장보기 목록이 필요할 때 "뭐 사러 왔더라..."

 

결론은 명확했다.

"모바일 앱... 만들어야겠다!" 🔥

그렇게 아빠 너구리의 iOS 앱 개발 여정이 시작되었다. Claude AI라는 든든한 조수와 함께, 72시간의 카페인 전쟁 속으로...

📅 Day 1 - 2026 1 7: 대항해의 시작

▲ Day 1: Claude AI 와 함께라면 못할 게 없다 !

13:28 - 알림 시스템 구현

"사용자가 알림을 받으면 할 일을 하겠지?"

 

순진했다. 알림 시스템을 만들면서 NotificationSettingsRow라는 아름다운 컴포넌트를 탄생시켰다. 토글이 우측에 고정되고, Picker 값들이 140px로 정렬되는 모습을 보며 눈물을 흘렸다. 아름다웠다.

16:21 - iOS 앱 구현 완료 🎉

"3시간 만에 iOS 앱을 만들었습니다"

 

iPhone 5탭 구조, iPad 3-Column 레이아웃, 위젯 3종 세트까지. Claude와 함께라면 못할 게 없다. 커밋 메시지에 'Generated with Claude Code'가 뿌듯하게 찍혔다. 인간과 AI의 아름다운 협업.

📅 Day 2-3 - 버그와의 전쟁

▲ Day 2-3: FATAL ERROR...  마음도 함께 크래시  💔

Day 2 (18) - 13:34 - 루틴 Task 자동 생성 버그 수정

"왜 루틴을 만들었는데 Task가 안 생기지?"

 

modelContext.save() 한 줄의 부재. 13시간 동안 앱을 만들었는데, 저장을 안 하고 있었다. 마치 3시간 동안 문서 작성하고 Ctrl+S 안 누른 기분. 또한 startOfDay로 날짜를 정규화해야 한다는 걸 깨달았다. 1800:00:00.0001800:00:00.001은 컴퓨터에겐 완전히 다른 날이니까!

13:55 - 통계 화면 버그 수정

"월화수목금토일이 왜 일월화수목금토로 나오지?"

 

하드코딩의 저주. 요일 배열을 ["", "", "", ...]로 박아놨더니, 실제 날짜와 전혀 안 맞았다. GitHub 스타일 히트맵도 주 단위 정렬이 엉망이었다. 수정 후 드디어 일요일은 빨강, 토요일은 파랑으로 제대로 표시되기 시작했다. 🎨

Day 3 (19) - 11:07 - 카테고리 관리 기능 대폭 개선

"테스트 데이터 삭제하다가 앱이 터졌어요" 😱

 

루틴에 카테고리 연결, Task에 카테고리 자동 상속, iPhone에서 카테고리 편집 가능, 그리고... Fatal error 버그 수정! MockDataGenerator가 이미 없는 데이터를 또 지우려고 해서 크래시가 났다. 개발 중엔 문제없었는데, 사용자가 "모든 데이터 삭제"를 누르면... BOOM 💥

📅 Day 4 - 2026 1 10: 새벽 3시의 깨달음

▲ Day 4: 02:56 AM... 카페인의 힘은 위대하다 ☕🦉

02:56 - Notification Service Extension 추가 🌙

"새벽 3시에 알림 시스템을 건드리면 안 되는 거였어..."

 

GitHub 커밋 시간을 보라. 새벽 256. 정상적인 개발자라면 자고 있을 시간에 Notification Service Extension을 만들고 있었다. App Group으로 데이터 공유, 알림 표시 직전에 실시간 데이터 업데이트, iPad 3컬럼 레이아웃으로 알림 내역 UI 구현까지. 카페인의 힘은 위대하다.

10:18 - 알림 내역 저장 버그 수정

"알림은 오는데 왜 기록이 안 남지?"

 

7시간 후 일어나서 바로 버그 수정. 알림을 예약할 때와 표시할 때를 구분해야 했다. Task 리마인더는 예약 시점에, 일일 요약은 표시 시점에 저장하도록 분기 처리. 새벽의 나 vs 아침의 나. 항상 아침이 이긴다

📅 Day 5 - 2026 1 12: 마무리의 미학

▲ Day 5:  드디어 완성 ! macOS, iPad, iPhone  모두 지원  👍🎉

10:59 - 목표 선택 UI 개선 & 달력 업그레이드

이틀간의 휴식(?) 후 돌아온 마지막 커밋. 목표 선택 시 현재/미래/과거 그룹핑 추가로 "202512월 목표가 왜 맨 위에 있지?" 문제 해결! 날짜에 맞는 목표 스마트 힌트 기능으로 112일에 Task를 만들면 1월 목표를 추천해주고, macOS 달력에 Task 점 표시까지 - 완료는 초록 🟢, 미완료는 파랑 🔵으로!

카테고리 기본 아이콘도 변경했다. 건강은 💪 dumbbell, 학습은 🎓 graduationcap으로. 이제 진짜 앱 다운 앱이 되었다!

 

📊 5일간의 통계

항목 수치
총 커밋 수 10
버그 수정 4
새벽 커밋 1(02:56 AM 🦉)
Claude와의 협업 9/10 커밋
카페인 소비량 측정 불가 ☕☕☕

 

📱 짜잔! 완성된 목표숲(GoalTask) iPhone

5일간의 사투 끝에 탄생한 아빠 너구리의 역작! 이제 언제 어디서든 할 일을 관리할 수 있다. 더 이상 카카오톡 '나와의 채팅'은 필요 없다

🏠 홈 화면 - 오늘의 할 일을 한눈에!

오늘의 요약(전체/완료/진행중/루틴)과 달성률을 한눈에!

Task 목록에서 루틴 태그, 카테고리, 예상 소요시간까지 깔끔하게 표시된다.

아침 운동 06:30, 코드 리뷰 16:00... 이제 놓칠 일 없다!

📅 캘린더 - 일정을 시각적으로!

월간 캘린더에 Task 점이 표시되어 바쁜 날과 여유로운 날을 한눈에 파악!

완료는 초록 🟢, 미완료는 파랑 🔵으로 구분된다. 일요일 빨강, 토요일 파랑 표시는 버그 수정의 결과물

🎯 목표 - 월간/주간 목표 관리

 

프로젝트 완성 11%, 독서 습관 0%, 건강한 생활 0%... 현실은 냉정하다. 

하지만 진행률 링 차트가 채워지는 걸 보면 뿌듯함이 밀려온다!

카테고리별(업무/학습/건강) 분류로 체계적인 목표 관리가 가능하다. 🎯

📊 통계 - 데이터로 보는 나의 성취

 

이번 주 전체 19, 완료 6, 달성률 31%! 일별 완료 추이 막대 그래프와 GitHub 스타일 활동 히트맵까지.

연속 달성 0일은... 내일부터 다시 시작이다!

🔥 데이터 덕후 아빠 너구리의 자존심이 담긴 화면.

⚙️ 더보기 & 설정 - 세세한 커스터마이징

      

업적 시스템(현재 레벨: 입문자 Lv.1 🏆), 알림 내역, 검색, 카테고리 관리까지!

설정에서는 테마, 주 시작일, 기본 Task 시간, 알림 옵션을 세세하게 조절할 수 있다.

Day 1NotificationSettingsRow가 여기 살아있다! v1.0 (2) - 버전 넘버링도 제대로 됐다. 😎

🎯 결론

"iOS 앱 구현 (iPhone 5탭 + iPad 3컬럼 레이아웃)"

 

이 한 줄의 커밋 메시지로 시작된 여정은, 알림 시스템 폭파, 새벽 코딩, 카테고리 크래시, 그리고 수많은 버그 수정을 거쳐 5일 만에 안정화되었다.

이제 아빠 너구리는 카페에서도, 지하철에서도, 마트에서도 목표숲을 쓸 수 있다.

더 이상 카카오톡 '나와의 채팅'에 메모하는 굴욕은 없다! 🦝✨

개발은 언제나 그렇듯

"이거 금방 되겠네" → "왜 안 되지?" → "드디어 됐다!"

로 끝난다. 🚀

 

아빠 너구리의 개발 여정은 계속됩니다...