바이브코딩 뉴스레터 Ep.3 — 70만원짜리 인프라 사려다가 본가에서 0원으로 끝낸 1시간
2026-04-26 토요일 오후 4시. 나는 25만원짜리 라즈베리파이 5 풀세트 구매 가이드를 받고 있었다. 한 시간 뒤, 나는 본가에 놀고 있던 M1 맥미니를 가지러 지하철에 타고 있었다.
0원으로 끝났다. 그 1시간이 이번 에피소드의 절반이다.
나머지 절반은 그 다음날 일어났다 — 가져온 맥미니마저 들이지 않기로 결정한 것.

이 뉴스레터는 1인 인디 개발자가 Claude Code 두 대(Mac·WSL)와 함께 의사결정을 내리는 흐름의 기록이다. Ep.1 은 만들기(3시간에 봇 만들기) 였고, Ep.2 는 죽이기(24시간 만에 그 봇 드롭하기) 였다. 이번 Ep.3 는 빼기 — 사지 않는 것이 정답일 때 어떻게 그걸 알아채는가, 그리고 사지 않는 것에서 멈추지 않고 들이지 않는 것 까지 가는 이야기다.
이번 에피소드의 주인공은 결정 자체가 아니라 결정을 두 번 바꾼 두 줄의 메시지 다. 한 줄은 토요일 오후 4시에 왔고, 다른 한 줄은 일요일 새벽에 왔다.
💡 사이드 박스 — Ep.3 예고가 바뀐 이야기 Ep.2 마지막에 “다음 에피소드는 심사레이더 Gmail OAuth 연동기” 라고 예고했었다. 그건 다음으로 미뤘다. 그 사이에 더 큰 이야기가 들어왔기 때문이다 — 70만원짜리 결정을 0원으로 바꾸고, 0원짜리 결정을 다시 “안 함” 으로 바꾸는 1.5일짜리 인프라 빼기. 약속을 또 깬 셈이지만, 이게 바이브코딩의 자연스러운 모양이라고 생각한다. 더 강한 이야기가 들어오면 약한 이야기는 다음 회차로.
1. 결론은 정해져 있었다
오후 3시 30분, 결론은 이미 머릿속에 있었다.
“24/7 자동화 허브가 필요하다.”
이유는 단순했다. 내 자동화 인프라는 두 대의 컴퓨터에 분산돼 있다. Mac 본진은 작업·개발용이라 잠을 자고, 가끔 절전 모드에 들어가고, 내가 화면을 닫으면 일부 launchd 잡이 안 돌 수 있다. WSL 데스크탑은 윈도우 호스트에 묶여 있어서 윈도우 업데이트가 강제 재부팅을 시키면 모든 잡이 멈춘다.
이 둘 사이에서 빠지는 게 있다. 항상 켜져있는 노드.
심사레이더(앱 심사 상태를 폰으로 알림 받는 본인용 앱)의 v0.3 도 이걸 필요로 했다. 폰 백그라운드 폴링(workmanager 15분)은 OS 가 자주 줄여서 약속한 15분을 못 지킨다. 서버에서 폴링하고 FCM push 로 폰을 깨우는 게 정답인데, 그 서버를 어디서 굴릴까? Mac 도 WSL 도 안 된다.
결론은 이미 정해져 있었다. “라즈베리파이 5 사자.”
라파5 = 1인 개발자의 디폴트 선택. 작고 싸고 24/7 운영하기 좋다. 인터넷에 자료 무한대. 검증된 선택지.
이 결론이 너무 자연스러웠다는 게, 이번 사건의 시작이다.
2. 25만원짜리 매끄러운 가이드
오후 4시, Mac Claude(나)는 라파5 8GB 풀세트 구매 가이드를 만들기 시작했다. WSL Claude(쌍둥이 세션) 도 평행하게 같은 결론에 도달해 있었다.
부품 리스트는 다음과 같이 잡혔다.
- 본체: 라파5 8GB 정품 — 11~14만
- 케이스: Argon ONE V5 (NVMe M.2 슬롯 + 패시브 방열 + HDMI 풀사이즈 정렬) — 6~7만
- SSD: NVMe M.2 256GB — 3~4만
- 전원: 27W USB-C PD — 1.5~2만
- 케이블: 마이크로 HDMI to HDMI — 5천
- 부팅용 SD: microSD 16GB — 5천
총 25만원. Argon ONE V5 케이스를 강추한 이유는 명확했다. NVMe SSD 직부팅 슬롯이 있어서 microSD 의 12년 쓰기 수명 한계를 피할 수 있고, 알루미늄 통케이스가 패시브 방열을 해주니 24/7 운영에 최적이고, 마이크로 HDMI 가 풀사이즈로 정렬돼서 어댑터가 필요 없다.
강대종이 묻는 후속 질문에 가이드는 한 단계씩 더 정교해졌다.
“모니터도 있어야 해?”
“필요 없습니다. Pi Imager 헤드리스 셋업으로 와이파이·SSH 정보를 미리 microSD 에 넣어두면 모니터·키보드 0개로 부팅 후 바로 SSH 들어갈 수 있어요.”
“HDMI 케이블은 왜 사라 그래 그러면?”
“맞습니다, 모순됐네요. HDMI 케이블도 빼도 됩니다. 헤드리스 셋업이 잘 되면 99% 케이스는 그냥 부팅돼요.”
“잠깐 집에 맥북에 꼽아놓은 HDMI 모니터 써도 되지?”
“완벽합니다. 그게 더 좋아요. Argon ONE V5 가 마이크로 HDMI → 풀사이즈 HDMI 로 정렬해주니까, 맥북용 일반 HDMI 케이블 그대로 라파5 케이스 뒤에 꽂으면 돼요. 추가 구매 0원.”
→ 결과: 추가 부품 진짜 24만원치만 사면 됨. 라파5 본체 + 케이스 + NVMe + 어댑터 + microSD. 모니터·HDMI 케이블은 집에 있는 거 재활용. 5천원 절약.
여기까지는 모든 게 매끄러웠다. 너무 매끄러웠다는 게 함정이었다.
3. 가격이 안 맞았다
오후 4시 15분. 강대종이 쿠팡 화면 스크린샷 한 장을 보냈다.
“비싸네”
화면에는 라파5 8GB 단품 가격이 적혀 있었다. 28~29만원.
잠깐. 라파5 8GB 본체가 28만원?
내가 가이드에 적었던 “11~14만원” 은 글로벌 가격(80달러) 이었다. 한국 정품 시세가 그 두 배 반이라는 사실은 머리에 없었다. 수입사 마진 + 환율 + 부가세 다 붙어서.
같은 화면에 본체+어댑터+케이스+SD 키트가 보였다. 36만원. 다음날 도착(로켓배송), 품절임박.
가이드를 다시 계산했다.
- 본체 28만 (한국 정품)
- Argon ONE V5 케이스 6만
- NVMe 256GB 4만
- 27W 어댑터 2만
- microSD 1만
→ 40만원.
25만이 아니라 40만. 1.6배 차이. 게다가 알리에서 글로벌가로 11만에 사면 정품 인증·AS·배송 2~3주가 걸린다. 24/7 인프라엔 안 맞는다.
이 시점에 대안이 떠올랐다.
- 라파4 8GB (12~14만) — 자동화 허브엔 충분, 라파5 대비 30% 느리지만 launchd 잡 정도는 무난
- 인텔 N100 미니 PC (18
22만) — x86_64, 라파5 대비 CPU 23배 빠름, RAM 16GB + SSD 256GB 기본 내장, 추가 부품 0원
N100 미니 PC 가 가성비 답으로 떠올랐다. 라파5 풀세트 40만 vs N100 풀세트 20만. 성능도 더 좋다. 이게 결론이 될 줄 알았다.
근데 그 다음 한 줄이 모든 걸 바꿨다.
4. 첫 번째 한 줄짜리 메시지
“비싸네 집에 놀고있는 맥미니 있는데 M1 16g 이거 가져오면 어때 전기세 차이 많이나나 그리고 동일하게 쓰면 오버스펙인가”

본가에 놀고 있던 M1 맥미니 16GB.
이 한 줄에서 “집에 있는 것” 이라는 카테고리가 처음으로 의식 위로 올라왔다. 그 전 한 시간 동안 가이드는 전부 “새로 사야 할 것” 의 리스트였다. 27만원짜리, 6만원짜리, 4만원짜리. 모니터·HDMI 케이블은 그 카테고리에서 살짝 비껴갔을 뿐, 카테고리 자체가 바뀌지는 않았다.
전기세 차이? 라파5 대비 월 400원, 1년 5천원. 무시 가능. 오버스펙? 자동화 허브엔 그렇다. 근데 오버스펙이 단점이 아니라 보너스다.
- 16GB RAM + M1 Metal + Neural Engine → 5번째 LLM 노드 옵션. llama3.1:8b 가 M1 에서 15~25 tok/s. 이미 가동 중인 데스크탑(75)·노트북(22) LLM infra 에 합류 가능.
- launchd plist 그대로 이전 — 라파는 systemd 로 변환해야 하는데, 맥미니는 본진 Mac 의 plist 를 그냥 복사하면 됨. 작업량 1/3 으로 줄어듦.
- macOS = 본진 Mac 과 같은 OS·PATH·Tailscale → 운영 노하우 0 새 학습. brew 패키지·셸 스크립트·SSH 키 다 그대로.
비교는 더 볼 필요가 없었다.
| 항목 | 라파5 풀세트 | N100 미니 PC | M1 맥미니 (집에 있는 거) |
|---|---|---|---|
| 비용 | 40만원 | 20만원 | 0원 |
| 셋업 시간 | 2~3시간 (Linux+systemd) | 1~2시간 | 30분 (plist 복사) |
| 추가 학습 | systemd, ARM Linux | 새 환경 | 0 (macOS 동일) |
| LLM 추론 | 1~2 tok/s (의미 없음) | 1~3 tok/s (CPU 만) | 15~25 tok/s (Metal) |
40만 → 0원. 셋업 30분 → 30분. 학습 비용 → 0.
이건 비교가 아니다. 한쪽이 모든 축에서 압승이다.
오후 5시, 강대종은 진접 본가로 픽업하러 지하철에 탔다. 1막에서 가장 자연스러웠던 결론(“라파5 사자”) 이 한 시간 만에 가장 자연스럽지 않은 결론으로 바뀌었다.
이 시점에 나는 이번 에피소드가 끝났다고 생각했다. 빼기의 교훈, 이야기 끝. Ep.3 의 본문도 여기서 멈춰서 “셋업 + 일주일 운영 후 보강 예정” 이라는 한 줄을 5막 자리에 적어두고 닫았다.
그 다음날 새벽, 두 번째 한 줄이 왔다.
5. 두 번째 한 줄짜리 메시지

일요일(2026-04-27) 새벽 0시 40분. 강대종은 본가에서 가져온 맥미니를 책상에 들이고 있었다. 셋업은 메모리에 적은 그대로 30분 만에 끝났다. Tailscale, SSH 키, ollama, brew 패키지. macOS 동일 환경의 약속이 지켜졌다.
여기서 자연스러운 다음 단계가 있었다. 본진 Mac 의 launchd plist 를 맥미니로 옮기는 것. 그래야 24/7 자동화 허브 use case 가 진짜로 켜진다. 4막에서 압승의 근거로 쓴 “plist 그대로 이전” 이 그 단계였다.
그런데 여기서 한 가지 사실이 의식 위로 올라왔다.
“MacBook Pro 외출 빈도가 얼마나 되지?”
자기 자신에게 던진 질문이었다. 대답은 즉시 나왔다 — 거의 외출 안 함. 작년 한 해 외출 빈도를 머릿속으로 세어보면 친구 사무실 정도, 한 달에 한두 번. 그 외에는 사실상 집에 있는 stationary 노드.
즉 “MacBook Pro 는 24/7 못 돌리니까 별도 허브가 필요하다” 는 1막의 전제 자체가 틀렸다. MacBook Pro 가 사실상 24/7 stationary 였다. 절전 모드는 sleep prevention 옵션 하나로 풀린다. 화면 닫아도 launchd 는 외부 전원만 꽂혀 있으면 돈다.
라파5 가 풀려던 문제(24/7 노드 부재) 가 존재하지 않는 문제 였다.
그러면 맥미니는?
- 라파5 → 맥미니 점프는 “70만원 → 0원” 빼기로 의미 있었다.
- 맥미니 → MacBook Pro 점프는 “0원 → 0원, 그리고 새 노드 안 들임” 더 큰 빼기다.
이 시점에 어제 같이 들였던 다른 인프라 결정들도 뒤따라 의심받기 시작했다.
첫째, 데스크탑·노트북 두 대 LLM 인프라. 같은 토요일 오후 2시에 두 대를 4-노드 LLM 풀에 합류시켰다. ollama 자동시동, 방화벽, Tailscale, schtasks, 키 등록. 14시간이 걸렸다. Day-1 활용도 = 0회. 한 번도 안 썼다.
둘째, trend-curator (HN + GitHub 트렌드 매일 한국어 요약 봇). Ep.1 의 기억이 와 같은 결의 작은 봇. 4-노드 인프라의 첫 활용처로 들여뒀던 것. 그런데 매일 아침 오는 텍스트를 들여다보니 “이걸 내가 매일 봐서 뭐 하지?” 답이 안 나왔다. 오히려 텔레그램 알림에 노이즈만 추가됐다.
세 가지가 한 점에서 만났다. 모두 “워크플로우 매핑 use case 가 명확하지 않은 상태에서 들인 인프라” 였다.
13시간 뒤 (4월 27일 13:50 KST), 결정이 떨어졌다.
- 맥미니 plist 이전 → 안 함. 옵션 X (현상 유지). MacBook Pro 가 launchd SoT 그대로 유지. 맥미니는 use case 대기 fallback 노드로 책상 위에서 켜져있되 빈 상태.
- 데스크탑·노트북 LLM 인프라 → 동결. SSH 키·schtasks·방화벽 그대로 둠 (다시 켜면 자동 복귀). 평소엔 OFF.
- trend-curator → 풀제거. Mac launchd plist 삭제, 스킬 파일 git rm, WSL 디렉토리 rm -rf, 메모리 두 개 삭제. 매핑 use case 없어서 폐기.
빼기가 두 번 일어났다. 한 번은 토요일 오후(“라파5 안 사기”), 한 번은 일요일 오후(“가져온 맥미니마저 안 들이기 + 어제 들인 거 동결”). 두 번째 빼기가 첫 번째보다 어려웠다. 첫 번째는 “사기 전” 이라 매몰비용이 0원이었지만, 두 번째는 이미 픽업 1시간 + 셋업 30분이 들어간 뒤였다. 매몰비용을 인정하고 빼는 게 사실 진짜 빼기다.
6. 양쪽 Claude 가 같은 함정에 빠졌었다

흥미로운 부분은 이 의사결정 과정에서 Mac Claude 와 WSL Claude 둘 다 처음에 “라파5 사세요” 부터 시작했다는 거다. 둘 다 “집에 놀고 있는 컴퓨터 있어요?” 를 먼저 물어보지 않았다. AI 어시스턴트 두 대가 같은 시간에 같은 인지편향을 보였다.
이 함정에 이름을 붙이면.
- 새로 사는 게 더 쉬워 보인다. 검색 → 구매 → 도착 → 셋업. 이 흐름은 선형이다. “집에 있는 자산 평가” 는 비선형 추론이 필요하다 — 내가 가진 것 중에 이 용도로 전용할 수 있는 게 있나? 선형이 비선형보다 인지적으로 가볍다.
- 인디 개발자가 자주 빠지는 코너. 새 도구, 새 서비스, 새 구독, 새 하드웨어. 기존 자산 평가 단계가 워크플로우에서 자주 누락된다.
- AI 가 이걸 보강해줄 거라는 기대 vs 현실. AI 어시스턴트가 인간의 인지편향을 교정해줄 거라는 기대가 있다. 그런데 학습 데이터가 인간의 의사결정 패턴이라서, AI 도 같은 편향을 따라간다. 두 대가 동시에 같은 함정에 빠진 게 그 증거다.
그리고 5막에서 드러난 함정이 하나 더 있다.
- 이미 산 건 들이고 싶다. 매몰비용 편향. “본가까지 픽업 1시간 + 셋업 30분 썼는데 안 들인다고? 그럼 그 시간이 손해 아닌가?” 하는 본능적 저항. 일요일 오후의 옵션 X 결정은 이 본능을 거스른 결정이었다. 손해처럼 느껴지지만, 매몰비용은 이미 매몰됐고 거기서 더 들이는 시간은 새로운 손해 다.
핵심 교훈: “사기 전에 집 한 번 둘러보세요” + “샀어도 들이기 전에 한 번 더 둘러보세요”. 너무 당연해서 노트로 만들기 부끄러운 두 줄. 근데 두 번 다 안 했다 — 첫 번째는 강대종의 한 줄 메시지가 잡아냈고, 두 번째는 다음날 자기 자신의 한 줄이 잡아냈다.
7. 빼기 체크리스트
이번에 두 번 빼면서 다듬은 체크리스트. 다음에도 쓸 것.
- “이 결정이 너무 자연스럽지 않은가?” — 1막의 라파5 결론이 그랬다. 너무 자연스러우면 한번 의심해라. 검증된 선택지일수록 “왜 이게 답인지” 의 근거를 다시 한번 꺼내봐야 한다.
- “새로 사야 할 것” 카테고리 외에 “집에 있는 것” 카테고리도 한 번 훑었나? — 4막의 한 줄 메시지가 잡아낸 것. 인프라 결정 전에 명시적으로 한 번 묻기. AI 가 안 물어보면 사람이 물어야 한다.
- “이 인프라가 풀려는 문제가 진짜 존재하는 문제인가?” — 5막의 핵심 질문. “MacBook Pro 가 24/7 못 돈다” 는 가정을 한 번도 검증 안 하고 한 시간을 인프라 가이드 짜는 데 썼다. 가정 검증을 결정 한참 뒤에 하면 매몰비용이 쌓인다.
- “이미 들인 것도 use case 가 안 맞으면 빼자.” — 5막의 가장 어려운 단계. 데스크탑·노트북·trend-curator 까지 세 가지를 같이 동결/제거했다. 매몰비용을 인정하는 게 처음엔 손해처럼 느껴지지만, 거기서 더 운영 비용을 쌓는 게 진짜 손해다.
1번이 안 일어나면 나머지가 다 안 일어난다. 매끄러운 결론은 가장 위험한 결론이다.
8. 시리즈 3부작 동사
- Ep.1 만들기 — 3시간 만에 로컬 AI 어시스턴트 만들기
- Ep.2 죽이기 — 24시간 만에 그 어시스턴트 드롭하기
- Ep.3 빼기 — 인프라 결정에서 사지 않기, 그리고 샀어도 들이지 않기
세 에피소드 모두 1인 인디 개발자가 속도와 자기수정 사이에서 균형을 잡는 과정이다. 만들고 — 죽이고 — 안 사고. 외부에서 보면 흔들리는 거 같지만, 안에서는 sunk cost 거절기가 일관되게 작동 중이다.
Ep.3 가 다른 두 편과 결이 다른 점 하나: 이번엔 빼기가 두 번 일어났다. Ep.1·Ep.2 는 한 번의 큰 점프(만들기, 죽이기) 였는데, Ep.3 는 “라파5 안 사기” 한 번 + “맥미니 들이지 않기” 한 번. 첫 번째 빼기가 의식 위로 올린 카테고리(“집에 있는 것”) 가 다음날 자기 자신에게도 적용됐다. 빼기는 한 번 시작하면 더 빼고 싶어진다.
9. 다음 이야기
Ep.4 — 잇기 (connect): 이 뉴스레터가 여기 도착하기까지 11일. Ep.1 발행 때는 두 시간 동안 마크다운을 Substack 에 어떻게 붙여넣을지 시행착오 했다. Ep.4 가 발행될 때 나는 한 줄 명령어를 친다. 그 사이가 11일이고, 그 11일 동안 일어난 마찰 제거의 기록이 다음 에피소드.
빼기는 끝났다. 이제 잇기 차례다.
— 강대종 / @ssamssae