TinyPilot: 21개월 차
원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기
한 줄 요약
더 만들어야 할까, 가진 것을 최적화해야 할까?
하이라이트
- TinyPilot이 총 매출 6만 9천 달러로 역대 최고의 판매 실적을 기록했다.
- 웹사이트 리디자인 프로젝트가 예산을 3만 2천 달러 초과하고, 일정도 5개월 지연됐다.
- PicoShare를 출시했는데, 지금까지 내가 공개한 프로젝트 중 가장 빠르게 성장하고 있다.
목표 성적표
매월 초에 달성하고 싶은 목표를 정한다. 이번 달 목표 달성 결과는 다음과 같다:
TinyPilot Pro 2.4.0 출시
- 결과: TinyPilot 2.4.0을 일정대로 출시함
- 성적: A
이번 릴리스에서는 고객들이 오랫동안 요청해 온 다중 사용자 지원을 추가했다. 또한 지원 문의를 자주 유발하던 성가신 버그도 해결했다.
TinyPilot 웹사이트 디자인 전면 개편 마무리
- 결과: 디자인은 완료됐지만 아직 게시되지 않음
- 성적: C
이 프로젝트는 예상보다 계속 오래 걸리고 있다. 디자인 자체는 끝났지만, 디자인 에이전시 쪽에서 TinyPilot 사이트에 코드 변경을 적용할 여력이 없었다.
TinyPilot 신규 지원 엔지니어 온보딩 완료
- 결과: Diego가 업무에 완전히 적응해 대부분의 지원 요청을 독립적으로 처리하고 있음
- 성적: A
적합한 엔지니어를 찾는 데 오랜 시간이 걸렸지만, 잘 풀리고 있어 기쁘다. 이미 내 시간이 상당히 확보되고 있다.
TinyPilot 통계
| 지표 | 2022년 2월 | 2022년 3월 | 변화 |
|---|---|---|---|
| 순 방문자 수 | 6,991 | 6,212 | -779 (-11%) |
| 총 페이지뷰 | 14,916 | 13,375 | -1,541 (-10%) |
| 판매 매출 | $49,026.99 | $65,171.82 | +$16,144.83 (+33%) |
| 엔터프라이즈 구독 | $47.75 | $47.75 | 0 |
| 로열티 | $3,552.41 | $4,012.83 | +$460.42 (+13%) |
| 총 매출 | $52,627.15 | $69,232.40 | +$16,605.25 (+32%) |
| 수익 | $27,039.62 | -$3,043.34 | -$30,082.96 (-inf%) |
3월은 판매와 총 매출 모두에서 TinyPilot 역사상 최고의 달이었다. 2월보다 판매 대수는 14%만 늘었지만, 그중 절반이 신제품 Voyager 2 PoE였다. 신모델은 기존 모델보다 60달러 더 비싸, 매출은 33% 증가했다.
수익은 마이너스였지만, 이는 비용 지출 시점에 따른 영향이 크다. 2022년 1분기 수익은 건전한 1만 6천 달러, 월평균 5천 3백 달러 (수정 (2022-04-29): 숫자를 잘못 적었다 — 실제로는 2022년 1분기에 1만 달러 손실을 봤다).

2022년 3월, 순 방문자당 매출이 역대 최고치를 기록했다.
순 방문자당 매출은 10.49달러로 역대 최고치를 기록했다. 참고로 작년 이맘때 방문자당 평균 매출은 약 4달러였다. 마케팅에 집중하기 전에 웹사이트 전환율(“퍼널 하단”)을 높이는 데 집중하려던 내 계획에 비춰보면 아주 좋은 소식이다. 이 지표의 성장은 계획이 통하고 있음을 보여준다. 제품, 가격, 웹사이트 개선 덕분에 구매 전환이 더 잘 이루어지고 있는 것 같다.
다시 여유가 생겼다!
2월에는 TinyPilot을 주 20시간으로 운영할 수 있는 방법을 고민했다. 아직 그 수준에는 도달하지 못했지만, 진전은 있다.
내 시간을 가장 많이 잡아먹던 일 중 하나는 기술 지원으로, 주당 8시간이 들었다. 채용 과정에만 수백 시간이 걸리기 때문에 위임하기 가장 어려운 업무였다. 유능한 엔지니어를 찾은 뒤에도, 2년간 머릿속에 쌓인 암묵지를 전달해야 하니 교육에 시간이 많이 걸렸다.
이제 고비를 넘겼다고 기쁘게 보고할 수 있다. TinyPilot의 첫 지원 엔지니어인 Diego가 현재 지원 포럼의 모든 질문에 답변하고 있어, 나는 지원 업무에 주당 8시간 미만을 쓰고 있다. 그는 또한 TinyPilot에서 Tailscale을 설정하는 방법에 대한 첫 튜토리얼도 게시했다.
TinyPilot 현지 직원들이 더 많은 책임을 맡도록 하는 데도 신경을 쓰고 있다. 예를 들어 이번 주에 Voyager 2 조립에 사용하는 나사 모델이 전 유통망에서 품절됐다는 사실을 알게 됐다.

보통이라면 이런 공급 부족은 내가 직접 처리했겠지만, 팀의 다른 멤버가 새로운 업무를 맡기에 좋은 기회다.
예전 같으면 케이스 디자이너와 함께 대체품을 찾고 새 나사로 조립을 시도했을 것이다. 하지만 그에게 이메일을 보내기 전에 멈췄다. 현지 직원들이 더 큰 책임을 맡을 좋은 기회라고 생각해 그들에게 주도적으로 처리해 달라고 부탁했다.
3월 한 달 동안 시간 관리에서 뚜렷한 차이를 느꼈다. 지난 6개월 동안은 대부분의 날을 다 끝내지 못한 채 중요하지만 긴급하지 않은 일들을 미뤄야 한다는 느낌으로 마무리했다. 3월에는 종종 오후 중반까지 긴급한 업무를 끝내고, 마케팅과 자동화, 위임에 투자할 여유가 있었다.
새로 생긴 시간을 사람을 더 뽑거나 TinyPilot의 새 기능을 찾는 등 뭔가를 추가하는 데 쓰고 싶은 유혹을 참으려고 한다. 그런 일들은 겉보기보다 항상 훨씬 복잡하다는 걸 스스로에게 상기시켜야 한다.
2021년은 너무 많은 성장 프로젝트를 관리하느라 허둥댔으니, 이제는 가진 것을 최적화할 때다:
- 릴리스 프로세스 자동화
- 엔드투엔드 테스트 자동화
- 고객이 지원팀에 문의할 때까지 기다리지 않고 선제적으로 더 많이 대화하기
- TinyPilot 고객 서비스 직원과 지원 엔지니어 간의 에스컬레이션 경로 정립
- 제조업체와의 워크플로 개선
계속 재투자할까, 수익을 회수하기 시작할까?
TinyPilot을 운영한 전 기간 동안 나는 단기 수익을 신경 쓰지 않고 장기 성장에 집중했다. 적자를 내지는 않되, 거의 손익분기점에 가깝게 운영하면서 모든 매출을 제품 개선에 재투자하는 것도 기꺼이 감수했다.
재투자는 모멘텀을 만드는 것이라고 생각했다. 매출이 월 3천 달러일 때 제품 개선에 5천 달러를 써서 매출을 월 4천 달러로 올린다면, 그 5천 달러는 일회성 비용이지만 TinyPilot의 매출 속도는 영구적으로 높아진다.
하지만 나는 벤처 투자를 받은 스타트업이 아니다. 내 목표는 끝없이 성장해 IPO로 부자가 되는 것이 아니다. 언젠가는 성장에 모든 걸 쏟는 것을 멈추고 수익을 회수하기 시작해야 한다. 그 시점이 지금일까?
현재 단기적으로 가장 큰 지출은 Voyager 2의 양산성을 위한 전기 설계 최적화(월 1만~2만 달러)와 판매 웹사이트 리디자인(월 5천~6천 달러)이다. 몇 달 안에 Voyager 2 회로 기판이 확정되고 웹사이트 만지작거리기도 멈추면 비용이 대폭 줄어들 것이다. 매출을 유지한다면 새로운 프로젝트를 시작하지 않는 것만으로도 월 2만 달러를 벌 수 있다.
처음 계획은 Voyager 2 생산이 안정화되는 대로 전기 엔지니어링 파트너와 함께 Voyager 3 작업을 시작하는 것이었다. Voyager 3 개발에는 향후 6개월 동안 월 약 1만 5천~2만 5천 달러가 들어 올해 남은 기간의 수익을 모두 삼키게 된다. 게다가 신제품 출시는 TinyPilot 내부 워크플로의 많은 부분을 바꾸기 때문에 내 시간도 크게 잡아먹는다.
현시점에서는 수익을 회수하기 시작할 때라고 생각한다. 새로운 프로젝트는 올해 후반에 시작해도 된다. 먼저 매출을 7만~9만 달러대로 키워, 수익을 모두 소진하지 않고도 제품 개선에 투자할 수 있는 여유를 만들고 싶다.
디자인 에이전시와 일하기 전에 알았더라면 좋았을 것들
지난 9월에 TinyPilot 웹사이트 개선을 위해 디자인 에이전시를 고용했다. 당시에는 6주, 비용 7천 달러면 끝날 거라 생각했다. 6개월이 지난 지금 39,577달러를 썼는데도 프로젝트는 아직 끝나지 않았다.
어떻게 여기까지 오게 됐을까? 에이전시 측의 실수를 짚을 수도 있지만, 핵심 문제는 내가 에이전시와 효과적으로 일하는 방법을 몰랐다는 것이다. 나는 지금까지 프리랜서만 고용해 봤고, 에이전시가 역학을 얼마나 바꾸는지 깨닫지 못했다.
시작할 때 알았더라면 좋았을 것들을 스스로에게 상기시키기 위해, 그리고 아직 에이전시와 일을 시작하지 않은 누군가에게 도움이 되기를 바라며 기록해 둔다.
에이전시는 관리가 덜 필요한 게 아니라 더 필요하다
이 에이전시를 고용하면서 내가 저지른 근본적인 실수는 그들을 관리하는 데 얼마나 많은 시간이 필요한지 과소평가한 것이었다.
에이전시는 한 달에 40~60시간을 나와 함께 일한다. TinyPilot의 다른 프리랜서 한 명과 비슷한 투입 시간이라, 프리랜서 한 명 정도의 관리만 하면 될 거라 생각했다. 그들을 관리하는 데 훨씬 더 많은 시간을 책정했어야 했다.
에이전시와 일하면 각자 하위 프로젝트를 맡은 여러 사람과 소통하게 된다. 사람이 많아질수록 관리 시간은 필연적으로 늘어난다.
예를 들어 주 40시간 일하는 직원 한 명을 관리하는 데 주 6~8시간이 든다고 하자. 그 역할을 20시간씩 일하는 두 사람으로 나누면 관리 시간은 주 10~12시간으로 부풀어 오를 가능성이 크다. 직원들의 총 근무 시간은 같지만, 한 명이 아니라 두 명과 소통하면서 효율 손실이 발생한다.
디자인 에이전시에도 같은 논리가 적용된다. 한 달에 40시간의 작업을 받는다 해도, 클라이언트는 프리랜서 한 명이 같은 일을 할 때보다 에이전시 구성원 여섯 명을 관리하는 데 더 많은 노력을 들여야 한다.
범위를 적극적으로 지켜라
이 프로젝트의 가장 큰 문제는 범위 설정이었다. 6주짜리 프로젝트에 6개월째 매달리고 있다는 것만 봐도 짐작할 수 있을 것이다.
처음에 에이전시와 나는 이 프로젝트가 단순한 리브랜딩이라고 합의했다. 웹사이트용 새 로고, 색상, 폰트를 만들고 다음 단계를 평가하기로 했다. 하지만 이내 범위 확장이 시작됐다. 디자이너들은 조용히 범위를 계속 넓혔고, 정신을 차려 보니 나는 웹사이트 전면 리디자인의 한가운데에 와 있었다.
조금만 더 놔두면 이번 달 안에 마무리될 것 같다는 느낌이 계속 들었지만, 일은 계속 늘어졌다. 돌이켜보면 손실을 감수하고서라도 원래 계획대로 리브랜딩 수준으로 범위를 다시 축소했어야 했다. 하지만 Voyager 2 출시에 정신이 팔려 있어, 에이전시가 계속 진행하도록 두는 게 내게는 가장 쉬운 선택이었다.
교훈을 얻었다고 생각했는데도 이번 달에 또 범위 확장에 발목을 잡혔다. 리디자인의 남은 작업들을 우선순위대로 정리한 프로젝트 보드를 만들었다. 3월에 에이전시 시간 60시간을 예약했지만, 디자인 작업만으로 그 시간을 다 채울지 확신이 없어 목록 끝에 시간이 남을 경우를 대비해 우선순위가 낮은 버그들을 추가해 뒀다.
어떻게 됐을지 짐작할 수 있을 것이다…
디자인 에이전시는 모든 디자인 작업을 반쯤 끝낸 채로 남겨두고, 그 달 내 시간의 4분의 1을 써서 우선순위가 낮은 버그들을 모두 고쳤다.
앞으로는 중요한 작업이 모두 끝나기 전에는 중요하지 않은 작업에 손대지 않도록 기대치를 더 명확히 설정해야 한다.
열린 루프를 조심하라
프리랜서에게 A, B, C 작업을 맡겼는데 그가 작업 A를 80% 완료한 상태에서 갑자기 중단하고 작업 B를 시작한다면 이상하게 느껴질 것이다. 작업 B를 하던 중에 또 중단하고 작업 C를 시작한다면 더 기이할 것이다.
에이전시와 일하면 여러 작업이 80%만 완료된 상태로 남기 쉽다. 에이전시의 Alice가 이번 달에 10시간밖에 여유가 없어 작업 A를 80%까지 진행한다고 하자. 다음 차례인 Bob은 Alice가 하던 작업을 중간에 이어받고 싶지 않아 작업 B를 시작해 30% 정도 진행한다. 정신을 차려 보면 39,577달러를 썼는데도 모든 작업이 80~90%만 끝난 상태라 아무 것도 제대로 쓸 수 없게 된다.
책 일을 완수하는 기술(Getting Things Done)에서 데이비드 앨런은 끝나지 않은 작업을 “열린 루프”라고 설명한다. 열린 루프가 많을수록 각각이 머릿속의 공간을 차지하기 때문에 집중력이 떨어진다. 프리랜서는 보통 당신과 동시에 두세 개의 열린 루프만 가지지만, 디자인 에이전시는 그 5~10배에 달하는 열린 루프를 더 오래 끌고 갈 수 있다.
열린 루프는 가성비 측면에서도 손해다. 6개월에 걸쳐 여섯 가지 작업을 완료해야 한다고 하자. 개인을 고용하면 한 달에 한 작업 정도씩 완료해 줄 것이다. 매월 말에 비용을 지불하면 지불 시점에 맞춰 작업의 혜택을 누리게 된다. 에이전시라면 그 여섯 작업을 여섯 명에게 나눠 각자 당신 프로젝트에 1/6의 시간만 투입할 수도 있다. 5개월 차에는 에이전시가 돈의 80%를 가져갔지만, 어떤 작업도 완료되지 않았으니 당신은 혜택을 0%도 받지 못한다.
시간제로 시작해 리테이너로 전환하라
내가 일하는 에이전시는 시간제와 리테이너 요금제를 모두 제공한다. 시간제는 30시간 단위를 선결제하면 에이전시가 그 시간을 소진할 때까지 함께 일하는 방식이다. 리테이너는 매월 일정 시간을 약정하는 방식으로, 최소 40시간부터 시작한다. 시간제 요금보다 20% 저렴하지만, 쓰지 않은 시간은 이월되지 않고 해지하려면 28일 전에 통지해야 한다.
내가 깨닫지 못했던 점은 시간제 고객은 몇 달 동안 리소스를 배정받지 못한 채 방치될 수 있다는 것이다. 나는 10월부터 에이전시와 일하기 시작했는데, 두 달 동안은 작업이 훌륭했지만 12월에 급격히 질이 떨어졌다.
당시에는 연말 휴가철이라 잠시 느려진 거라 생각했지만, 1월까지 이어지자 대표에게 문제를 제기했다. 그는 에이전시가 직원을 잃고 새로운 리테이너 고객을 맡게 되면서, 내가 유일한 시간제 고객이라 TinyPilot에 리소스를 배정하기 어려웠다고 인정했다. 그는 우선순위를 보장받으려면 리테이너 계약으로 전환하라고 권했다.
화가 났다. 내 프로젝트를 후순위로 밀어 놓고는 더 큰 약정을 하라니? 동시에 이해도 됐다. 에이전시도 작은 비즈니스라 일회성 작업보다 장기 고객을 우선하고 싶을 것이다. 에이전시는 10월에 리테이너 고객이 되면 우선순위를 받을 수 있다고 말했지만, 그 차이가 얼마나 클지는 몰랐다.
다시 한다면 30시간 한 블록을 에이전시 시험 고용 개념으로 구매한 뒤, 나머지 프로젝트 기간에는 리테이너 계약으로 전환할 것이다. 한 달 동안 흩어진 몇 시간만 배정받는 것보다, 에이전시 일정에 보장된 시간을 확보하는 것이 더 나은 품질을 내는 것 같다.
사이드 프로젝트
PicoShare
PicoShare는 내가 2월에 만든 오픈소스 미니멀 파일 공유 도구다.
PicoShare는 이미지, 비디오 또는 기타 파일을 공유하는 도구다.
나는 종종 다른 사람들과 이미지, 비디오, PDF를 공유한다. 업무상 파일을 보낼 때 imgur나 mega.nz에 올린 파일 링크를 보내는 건 어딘가 어색하다. 그런 서비스는 “전문적인 비즈니스 커뮤니케이션”과는 거리가 멀다. Google Drive나 Dropbox도 UI가 방해가 되고 때로는 받는 사람이 파일을 보기 전에 계정을 만들도록 유도해서 선호하지 않는다. PicoShare를 이용하면 서드파티 서비스에 의존하지 않고도 쉽게 공유할 수 있는 링크를 만들 수 있다.
나는 3월 20일에 PicoShare v1.0.0을 /r/selfhosted 서브레딧에 공지하며 정식으로 출시했다. 반응은 긍정적이었지만 센세이셔널한 수준은 아니었다. 이후 몇 주에 걸쳐 서서히 관심을 얻기 시작했다.
유튜브 크리에이터 David Burgess가 PicoShare에 대한 영상을 만들었고, 이어 Hal Gus도 또 다른 영상을 만들었다. 한 셀프호스팅 블로거는 Synology NAS에 PicoShare를 설치하는 튜토리얼을 작성했다(재미있는 건 내 첫 블로그 글이 Synology NAS에 Docker 이미지를 설정하는 것에 대한 글이었다는 점이다).
PicoShare는 이제 내가 만든 프로젝트 중 가장 빠르게 성장하는 프로젝트가 됐다. 첫 커밋은 2월 13일이었고, 현재 GitHub에서 664개의 스타를 받았다. 비교하자면 TinyPilot은 거의 2년 만에 1.8k 스타를, LogPaste는 1년 만에 201 스타를 받았다.
오픈소스 개발자들의 멋진 코드 기여도 있었다:
- @viktorpenelski가 공유 파일을 영구 보존하는 옵션을 추가했다.
- @dertuerke가 파일 크기에 대한 사람이 읽기 쉬운 형식(예: “1530000 bytes” 대신 “1.53 MB”)을 추가했다.
- @dertuerke가 “Copy to Clipboard” 버튼을 추가했다.
나는 멀티 아키텍처 Docker 이미지 지원을 추가해서, 이제 Raspberry Pi 같은 ARM 기반 시스템에서도 PicoShare Docker 이미지를 실행할 수 있다. 멀티 아키텍처 빌드를 만드는 과정은 놀랍도록 간단하지만, 과정이 계속 바뀌기 때문에 설명을 찾기가 너무 어려웠다.
또한 라이브 데모 서버도 만들었다. 처음에는 불법 콘텐츠 업로드나 대역폭 고갈 문제를 처리하고 싶지 않아 만들지 않았다. 그러다 데모 서버에 사용자가 자신의 IP에서 업로드한 파일만 접근할 수 있도록 제한을 두면 된다는 걸 깨달았다. 이렇게 하면 사람들이 서비스를 체험해 볼 수 있으면서도 악용을 제한할 수 있다.
마무리
무엇을 해냈나?
- TinyPilot Pro 2.4.0 출시
- PicoShare 1.0.0 출시
- TinyPilot 첫 지원 엔지니어 교육 완료
배운 점
- 에이전시는 프리랜서와 다른 방식의 관리가 필요하다.
- 셀프호스팅 도구에 Docker 이미지를 제공하면 훨씬 더 매력적이다.
- Docker 명령어 한 줄로 실행할 수 있기 때문에 PicoShare가 이렇게 빠르게 사용자를 끌어모은 것 같다.
다음 달 목표
- TinyPilot으로 홈랩 NAS 서버 구축하기에 대한 블로그 글과 영상 게시하기.
- TinyPilot 웹사이트 리디자인 완료하기.
- WebRTC를 통한 H264 비디오에 대한 선택적 실험적 지원을 포함한 TinyPilot Pro 릴리스 게시하기.
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기