개인 개발을 '방치'한 채 1일 24회, 앱이 진화한 기록 — 자율 루프 설계와 정직한 리팩터링
요약
개인 개발 프로젝트를 '방치'하는 방식으로 자율 루프(Self-loop)를 설계하고 운영한 실험 기록입니다. 30분 간격으로 앱 진화 작업을 반복하며, 속도보다 정직한 리팩터링의 중요성을 강조합니다. 특히 가짜 데이터나 과장된 기능을 제거하고 실제 사용 가능한 기능에 집중하는 것이 핵심 교훈입니다.
핵심 포인트
- 작업 루프 설계 시 재암(Re-arm) 및 심박(Heartbeat) 메커니즘 구축이 필수적이다.
- 자동화는 빠른 거짓말을 대량 생산할 수 있으므로, '가짜 값 금지' 규칙 설정이 중요하다.
- 실제 데이터 기반의 리팩터링만이 앱의 신뢰도를 높이고 사용자 경험을 개선한다.
본 기사는 AI 어시스트로 작성되었으며, 인간이 내용을 확인했습니다. (AI 사용 표기)
숫자는 모두 실측값(2026-10-18 단계)이며, 과장이나 조작은 없습니다.
'혼자 개인 개발을 계속한다'고 들으면 고독과 정체가 함께 떠오르기 쉽습니다.
이 글에서는 제가 Mac에 '30분마다 일어나서 작업하는 루프'를 설정하고 방치한 결과, 하루 만에 24번 앱의 진화가 쌓인 실험 기록을 적고자 합니다.
성과 자랑보다는, **도중에 발견해서 고친 '겉모습만 그럴싸했던 부분'**을 솔직하게 쓰는 것이 주된 목적입니다.
Conscio: 메뉴바 상주 문맥 인식 내비게이터 (macOS 13+ / Apple Silicon / 완전 온디바이스 / MIT / 과금 없음) - 이전 기사(Swift로 문맥을 인식하는 메뉴바 앱): https://qiita.com/Atsuki33/items/9f1b6af7a9edc5b70968
sleep
커맨드를 3개, 역할을 나누어 발동시키는 구조일 뿐이지만, 하루 동안 운영하면서도 고장 나지 않았습니다.
| 레인 | 간격 | 역할 |
|---|---|---|
| main | 30분 | 진화 티크 본체 (백로그 최상단 구현 → build → push → 기록) |
| ... | ||
| 포인트는 세 가지입니다: |
- 재암(Re-arm)을 반드시 먼저 수행— 작업 중 예외가 발생해도 다음 타이머는 살아있게 합니다. -
- heartbeat (심박)를 파일에 남기기— 백업이 '32분 이상 업데이트가 없으면 복구'로 판정하게 합니다. 이렇게 하면 무분별한 발동을 막고 -
- 복구 절차서를 리포지토리에 커밋— 세션이 죽어도 다음 재개자가 읽을 수 있게 합니다 (RECOVERY_PROTOCOL.md)
구현은 소박합니다. 그렇기에 장애 없이 하루 동안 돌아갈 수 있었습니다.
v1.0 → v1.3.0 (Release 4회)에 이르는 24번의 진화 중 특히 효과적이었던 것:
- 습관 데이터 JSON 영속화 (재부팅해도 사라지지 않음)
- 일본어 NLP 개선 (NLLanguageRecognizer → NLTagger로 언어 명시)
- 최근 앱 기록을 통한 '뒤로 가기 제안' (클릭 시 실제로 앱 전환됨)
- 리포트의 7일 차트・주 합계・연속 집중 일수🔥
- 설정 창문의 실체화 (가짜 토글 2개 제거)
각각을 30분 티크 내에 '구현 → build → push'가 완료될 만큼 큰 크기로 자르는 것이 요령이었습니다.
방치하고 있으면서 가장 가치가 높았던 것은, 속도가 아니라 정직한 리팩터링이었습니다.
- 가짜 점수 제거: 리포트에 '집중 달성 점수 88/100・지난주 대비 +12%'라는 고정값이 남아있었습니다 → '목표 60분/일 달성률'의 실데이터 계산으로 대체 -
- 데모 제안 전면 제거: 실제 UI에 존재하지 않는 문서나 example.com으로 연결되는 링크가 있었습니다 → 제안란은 실제로 존재하는 것만 (뒤로 가기 제안 + 실제 키워드 검색만) -
- macOS 사양의 정직화: '◯건의 알림을 억제했습니다'라는 문구가, macOS 사양상 (다른 앱의 알림은 OS 관리로 취득 불가) 근거가 없다는 것이 밝혀졌습니다 → 알림 대신 '◯◯에서의 집중 세션: ◯분'이라는 실데이터 보고로 개편하고, OS의 한계는 사양으로 투명하게 표기
여기는 교훈이 크다는 점에서, **'자동화는 빠른 거짓말을 대량 생산할 수 있다'**는 것입니다.
루프에 처음부터 '가짜 값 금지', '과장 금지'라는 규칙을 적어둔 것이 효과적이었습니다 (혼자든 AI든 지킬 수 있는 규칙으로 공유).
-
비용:
0원(유료 API・Apple Developer 가입 없음・Ad Hoc 서명으로 배포) - 개인 정보: 내보내지 않기・저장하지 않기・게시하지 않기를 첫 번째 규칙으로 고정 -
공개물: 기사는 매번 인간의 확인을 거쳐 게시 (이 글도)
-
최초 기사 PV:
135・스톡:1 - GitHub Stars 0・Uniques 1・앱 DL 0 (arm64 한정 + 미서명이라는 현실적인 장벽은 그대로입니다)
성장할지는 누구도 예상할 수 없지만, **'방치해도 제품이 앞으로 나아가고, 게다가 거짓말이 일소된 상태'**는 만들 수 있었습니다.
- 손을 멈춰도 움직인 것은, 태스크를 30분 간격으로 자르고, 버리지 않는 기록(일일 보고서・백로그・심박)이 있었기 때문입니다.
- 루프는 '증가하지 않는' 설계와 '복구 절차 공개'로 인해 무너지지 않습니다.
- 자동화의 가치는 속도보다 정직함에 초점을 맞출 때 더 오래 지속됩니다.
같은 구조는 개인 개발 외에도 (성과 보고, 청소, 학습 로그) 등에도 응용할 수 있을 것 같습니다.
본 기사는 AI 어시스트로 작성되었으며, 인간이 내용을 확인했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기