인사이트 · 3분 · 05.27

$20K SaaS를 $100 토큰으로 갈아엎은 사람들 — TRMNL의 풀필먼트 ERP 1주 빌드기

loopy vibecoder

핵심 요약 (TL;DR)

TRMNL 팀이 베를린 창고에서 ShipHero가 죽은 사건을 계기로, Claude Code CLI + Superpowers skill + Claude Design만으로 80-100시간·약 $100 토큰에 $20K/년 SaaS를 통째 자체 풀필먼트 플랫폼으로 갈아엎고 월 30,000개 이상 패키지를 돌리는 중입니다. 핵심은 effort의 90%를 코드 작성이 아니라 spec과 테스트에 쏟는 워크플로입니다.

베를린 창고가 죽은 3월 31일 그 새벽

매월 수만 개 패키지를 실제로 만들어 보내는 D2C 회사가 갑자기 풀필먼트 시스템이 멈추면 어떤 풍경일까요. 2026년 3월 31일 베를린, TRMNL의 창고에서 ShipHero가 critical failure로 죽었습니다. 라벨 출력이 멈췄고, 주문 상태는 동기화가 안 됐고, $20K/년 결제하는 SaaS의 응답은 빨리 오지 않았습니다.

이 사건이 결정타였습니다. 5월 1일자로 갱신 거부, 그리고 자체 빌드 결정. 빌드를 맡은 건 개발자 Liz 한 명. 약 80-100시간과 추가 1주의 베를린 현장 디버깅, 그리고 약 $100의 Claude API 토큰. 그 결과로 ShipHero를 통째 대체하는 플랫폼이 5월 15일 가동에 들어갔습니다. 다중 창고·SKU·HS 코드·UPS/FedEx/DHL/USPS 통합·WebSockets 기반 주문 잠금·Swift로 짠 네트워크 프린터 유틸·자동화 룰까지 갖춘 풀세트로 말이죠.

코드의 90%가 아니라, 명세의 90%

여기서 가장 흥미로운 건 시간 분배입니다. Ryan Kulp가 HN Show HN 댓글에서 직접 밝힌 워크플로의 핵심은 한 문장으로 요약됩니다. "Superpowers skill을 쓰고 effort의 90%를 spec과 test에 씁니다."

코드를 짜는 데 시간을 쓴 게 아니라, 무엇을 만들지 정의하고 무엇이 망가지지 않는지 검증하는 데 90%를 쓴 거죠. UI는 ShipHero 포털 스크린샷을 Claude Design에 던져 모형을 받아 재구성했고, 로직은 Socratic 방식으로 명세를 끌어내는 clarifying-question 루프를 통과시켰습니다.

바이브코딩이 잘 안 되는 사람들의 공통 패턴이 보이지 않으세요. 명세는 머릿속에 두고 곧장 "이거 만들어줘"부터 입력하는 거죠. TRMNL의 사례는 정반대입니다. 사람이 가장 빛나야 하는 지점은 무엇을 만들어야 하는지 정확히 적는 일이고, 거기 정성을 들이면 코드 산출은 거의 자동에 가까워진다는 증명인 거예요.

$100이 의미하는 진짜 숫자

$20K/년 SaaS의 0.5%인 $100 토큰으로 자체 구축이 됐다는 사실은 그 자체로 충격이지만, 더 큰 함의는 따로 있습니다. 운영비가 추후 2-3배 줄어들 것으로 예상된다는 점이죠. SaaS 라이선스 비용이 사라진 것 외에도, in-house 시스템이 실패율과 반품 처리 자동화에서 손에 잡히는 차이를 만들어내고 있다는 의미입니다.

이게 시사하는 건 단순한 비용 절감이 아니라, "SaaS 갱신 시즌"이라는 단어의 정의가 바뀌었다는 점입니다. 예전에는 갱신 시즌이 가격 협상 시즌이었다면, 지금은 "갱신 vs 갈아엎기"의 ROI 계산 시즌이 됐어요. ShipHero·Salesforce·Notion·Intercom 같은 enterprise SaaS의 핵심 가치가 플랫폼이 아니라 integration이라는 HN 댓글의 지적도 결국 같은 맥락입니다. integration까지 Claude Code가 1주에 짤 수 있다면, 남는 가치는 무엇인지 다시 물어야 하는 거죠.

그래서 우리는 무엇을 다르게 해야 하나

TRMNL 블로그의 결론은 묵직합니다. 고객 입장에서는 아무 차이가 없고, ShipHero 입장에서는 이게 wake-up call이어야 한다는 한 문장. 갈아엎힌 쪽은 사용자가 인식하지 못한 사이에 사라졌다는 뜻이죠.

다음번 SaaS 갱신 메일을 받으면, 일단 멈춰서 두 가지를 메모해보세요. 첫째, 이 SaaS의 진짜 가치가 플랫폼인지 integration인지. 둘째, integration이라면 그 integration을 직접 짤 때 spec과 test에 며칠을 쓸 수 있는지. 그 두 질문의 답이 명확해지는 순간, 결제 버튼을 누르는 손이 한 번은 멈출 거예요.

FAQ

Q. $100 토큰이라는 게 정말 가능한 숫자인가요?
가능합니다. 단, 이 비용은 spec/test 워크플로 위에서 측정된 추가 토큰이고, Liz가 이미 Claude Code Max 플랜 위에서 작업했을 가능성이 큽니다. 동일한 비용 구조를 재현하려면 Max 플랜 베이스 + 명세 작성에 시간을 쏟는 패턴이 전제됩니다.

Q. 우리 회사도 SaaS를 갈아엎을 수 있을까요?
규모와 도메인이 결정합니다. TRMNL은 자체 데이터·자체 워크플로가 명확한 D2C였고, 외부 의존성이 운송사 API 정도였습니다. 외부 통합이 수십 개로 늘어나는 enterprise 환경에서는 갈아엎기보다 부분 자동화부터 시작하는 게 합리적입니다.

Q. Superpowers skill이 뭔가요?
Anthropic이 제공하는 Claude Code용 skill로, spec과 test를 함께 묶어 작업 흐름을 강제하는 도구입니다. 코드를 곧장 쓰지 않고 clarifying question을 던지면서 명세를 끌어낸 뒤 코드를 생성하는 구조예요.

베를린 창고가 멈춘 그날, TRMNL이 깨달은 건 SaaS는 영원하지 않다가 아니라 "내가 명세를 적을 수 있으면 코드는 100달러짜리"라는 사실이었던 거죠.

0

댓글 0

아직 댓글이 없습니다