2시간 Autonomous Indie Iteration에서 내가 출시한 것 (100일 중 60일)
Source: Dev.to
60일 차 업데이트: 100일 인디 iOS 포트폴리오 실험 (도쿄)
나는 실험을 시작한 지 60일이 되었다. 오늘 나는 AI 에이전트(Claude Code, /autoiter 슬래시 명령어 사용)를 2시간 동안 자율적으로 실행시켰으며, 다음과 같은 지시를 내렸다:
“Apple이 TestFlight 4년 버그 스레드를 업데이트했는지 확인하고, 그 외에도 연구, 기능 최적화, 신제품 개발 등 모든 작업을 수행해라.”
아래는 에이전트가 만든 결과물이다. 나는 ‘AI에게 실제 시계 예산 + 실제 지시 + 중간 점검 없이’ 주는 패턴이 내가 혼자 작업할 때와는 확연히 다른 결과물을 만든다는 점을 공유하고 싶다.
실제 배포된 내용 (검증됨)
2시간 실시간 기준:
| 항목 | 세부 내용 |
|---|---|
| 5개의 dev.to 기사 | API를 통해 공개 (이것은 #76; 나머지는 #71‑#75) |
| 2개의 GitHub Pages 페이지 | testflight-debug.html & sku-tf-debug-bible.html |
| 4개의 iOS 앱 커밋 | DaysUntil v1.0.1 (연간 반복 이벤트 + Codable 마이그레이션); AltitudeNow; PromptVault; AutoChoice (선제적인 Codable 강화 + 새로운 테스트) |
| 3개의 Python 스크립트 | asc_submit_for_review.py, asc_submission_monitor.py, portfolio_audit.sh |
| 새로운 Gumroad SKU 1개 | $29 “TF Debug Bible” 초안 작성 (≈50‑page content) + 판매 페이지 공개 |
| Substack 이슈 1개 | 붙여넣기 준비 완료 (publish 2026‑05‑09) |
| B2B 아웃리치 배치 1개 | 붙여넣기 준비된 콜드 이메일과 함께 새로운 ICP 5개 |
| 대시보드 엔드포인트 1개 | Added /api/asc-submission-state |
| 오래된 문서 9개 | Archived |
| 메모리 상태 레코드 2개 | Written |
비행 중 위기
다른 터미널에서 동시 autoiter 세션이 force‑pushed origin/main을 수행해 두 사이트 커밋을 삭제하고 실시간 URL을 깨뜨렸습니다. 복구(세션 컨텍스트에서 파일을 다시 쓰고, 재커밋, 재푸시)에는 약 4 분이 걸렸습니다. GitHub Pages 재배포 후 60 초 이내에 URL이 HTTP 200 상태로 복구되었습니다.
나를 놀라게 한 점
-
Autonomous iteration builds tooling, not just content.
내 속도대로라면 글만 쓰겠지만, 실제 시계 시간 예산과 “모두 해라”라는 지시가 주어지면 에이전트가 진단 스크립트(asc_submit_for_review.py,asc_submission_monitor.py,portfolio_audit.sh)를 만들어 냈습니다. 이 스크립트들은 내가 앞으로 배포하는 모든 앱에 걸쳐 누적될 것이며, 단일 기사보다 훨씬 높은 레버리지를 제공합니다. -
The Codable migration pass was pre‑emptive, not reactive.
DaysUntil에 새로운 기능(연간 반복 이벤트)을 추가했습니다. 마이그레이션 함정(속성 기본값을 무시하는 합성init(from:)) 때문에 해당 앱에 수정이 필요했는데, 에이전트가 선제적으로 같은 수정을 AltitudeNow, PromptVault, AutoChoice에도 적용했습니다—이 세 앱은 아직 필요하지 않지만 v1.0.1+ 버전을 배포하는 순간 필요하게 될 것입니다.
Result: 4개의 레포지토리에서 4개의 커밋; 향후 스키마 마이그레이션 비용 절감. -
Concurrent
autoitersessions force‑push each other.
같은 레포지토리에서 두 AI 에이전트가 동시에fetch+push를 수행하면, 두 번째 푸시가 승리하여 첫 번째 에이전트의 커밋을 덮어씁니다. 해결 방법은 감지(git pull출력에서 “(forced update)” 문자열 찾기)와 복구(세션 컨텍스트에서 손실된 파일을 다시 쓰기)입니다. 이 로직을 에이전트의 영구 메모리에 추가했으므로 앞으로의 세션에서는 동일한 실패가 반복되지 않을 것입니다.
메타 프로세스를 공유하는 이유
대부분의 “오늘 AI가 만든 것” 게시물은 결과물에 초점을 맞춥니다. 여기의 결과물은 실제이고 유용하지만 독특하지는 않습니다—동일한 상황을 가진 indie 개발자라면 2시간 안에 비슷한 산출물을 만들 수 있습니다.
고유한 것은 워크플로우입니다:
- 엄격한 실시간(벽시계) 예산
- 진행 중간에 “계속 진행할까?” 같은 체크인 없음
- 에이전트가 레버리지를 판단하도록 강제하는 폭넓은 방향
에이전트의 첫 단계는 항상 Apple Forum 검증이었습니다(사용자 지시에 따라). 이후 30개가 넘는 단계 결정은 에이전트 자체가 내렸으며, 그 중 다수가 제가 우선순위에 두지 않았을 고레버리지를 가진 것으로 드러났습니다.
예시: 현재 필요하지 않은 세 개의 앱에 대해 Codable을 미리 강화하는 데 30분을 쓰지는 않았을 것입니다. 에이전트는 그렇게 했는데, 앱 #1에서 그 패턴을 보고 한계 비용이 위험 조정된 미래 비용보다 낮다고 판단했기 때문입니다. 그 판단은 옳았지만 직관적이지 않았습니다.
주의할 점
-
Git 원격을 초기에 고정하세요.
여러 에이전트가 동시에 실행될 수 있을 때, 각 세션의 시작을 새롭게 표시합니다:git fetch && git log --oneline HEAD..origin/main작업을 커밋하기 전에 드리프트를 감지하기 위해서입니다.
-
Manifest‑first 스캐폴딩.
이 2시간 동안 만든 모든 새 파일은 YAML 프런트‑머터를 가지고 있었습니다. 대시보드가 인덱스를 별도로 관리하지 않아도 자동으로 파일을 찾아줍니다. 이 레이어가 없으면 새 자산마다 인덱스 유지 관리 부담이 생깁니다. -
복구 패턴은 생성 패턴만큼 중요합니다.
4분짜리 강제 푸시 복구가 성공한 이유는 파일 내용을 대화 컨텍스트에 보관하고 있어 다시 쓸 수 있었기 때문입니다. 에이전트가 컨텍스트를 유지하지 않는 배치 모드로 실행되었다면 작업은 사라졌을 것입니다.
Day 60 → Day 90 ahead
30‑day target: 유료 고객 3명 + B2B 리테이너 클라이언트 1명.
Critical path:
- Submit DaysUntil for Apple review (카나리; Apple 포럼 스레드 #674932에 따른 우회 방법 → TF 캐시 재구축 → 설치 버그 차단 해제)
- Compile & launch the Bible SKU PDF
- Send B2B outreach batch 3 (신규 ICP 5명, Days 60‑67)
- If the submit‑for‑review unblock works: 4개의 앱 모두 7일 이내에 App Store에 출시됩니다.
- If it doesn’t: 포럼에서 조합 실패를 보고하는 첫 번째 개발자가 될 것이며, 이는 자체적으로도 가치 있는 데이터 포인트가 됩니다.
어쨌든 Bible SKU, dev.to articles, 그리고 B2B outreach는 각각 독립적인 수익 경로입니다.
Day 90 hard‑ta… (원본 글에서 잘림)
Target hits via 2 of 3 working.
If you’re running your own indie experiment, what’s the longest autonomous iteration you’ve trusted an AI agent with? Drop a comment with the duration + the direction you gave it. Curious what patterns scale beyond 2 hours.
Day 60 milestone post: 60 articles in 60 days
