TinyPilot: 8개월 차
원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기
한 줄 요약
성장세는 언젠가는 꺾이기 마련이다.
하이라이트
- TinyPilot의 매출이 6개월 만에 처음으로 감소했다.
- TinyPilot은 1월 대비 21% 감소한 3만 3천 달러의 매출로 한 달을 마감했다.
- TinyPilot에 필요한 핵심 부품 하나가 갑자기 공급처에서 사라졌다.
- 업무를 위임했는데 오히려 내 여유 시간은 더 줄어들었다.
목표 평가
매달 초에 이번 달에 이루고 싶은 목표를 정한다. 목표별 달성 결과는 다음과 같다.
블로거 또는 유튜버 5명을 TinyPilot 제휴 프로그램에 유치하기
- 결과: 제휴 프로그램조차 시작하지 못함
- 성적: D
쉬울 거라고 생각했다. 결제 시스템으로 Shopify를 쓰고 있는데, Shopify에는 제휴 프로그램을 만들 수 있는 앱이 수두룩하다. 직접 만들어 보려고 시도해 보니 모든 앱이 고객의 개인정보 전부를 제휴 앱에 넘기도록 요구한다는 사실을 뒤늦게 알게 됐다.
그래서 직접 만들기로 했다. 보기만큼 간단하길 바랄 뿐이다. 제휴 파트너에게 tinpilotkvm.com/?ref=some-affiliate 같은 링크를 쓰도록 안내하고, 거래 시 제휴 ID를 기록하면 된다. 월말에 일일이 수동으로 정산하면 된다. 확장성은 떨어지지만, 10명 정도라면 충분히 감당할 수 있다.
TinyPilot에 지원 또는 제조 비용을 줄이는 기능 두 가지 추가하기
- 결과: 앱에 3개, 웹사이트에 2개 등 지원 비용을 줄이는 기능을 추가함
- 성적: B
TinyPilot에 편의 기능 세 가지를 추가했지만, 아직 정식 릴리스에는 포함하지 않았다.
- 웹 UI에서 TinyPilot 업데이트하기
- 웹 UI에서 호스트 이름 변경하기
- 웹 UI에서 디버그 로그 보기
또 지원 포럼과 자주 묻는 질문 페이지도 만들었다. 진작 만들었어야 할 것들이다. 사용자가 굳이 나에게 이메일로 일일이 문의하지 않고도 스스로 문제를 해결할 수 있게 됐다.
랙 마운트형 TinyPilot에 대해 고객 10명에게 피드백 받기
- 결과: 고객 0명에게 피드백을 받음
- 성적: D
랙 마운트형 TinyPilot 구상에 생각보다 오래 걸렸다. 고객에게 보여주고 피드백을 받을 수 있는 미리보기 문서를 완성하는 데 며칠 더 걸릴 것 같다.
TinyPilot 통계
| 지표 | 2021년 1월 | 2021년 2월 | 변동 |
|---|---|---|---|
| 순 방문자 | 11,249 | 7,824 | -3,425 (-30%) |
| 총 페이지뷰 | 17,737 | 12,909 | -4,828 (-27%) |
| 판매 수익 | $41,992.92 | $33,061.41 | -$8,931.51 (-21%) |
| 후원금 | $0.00 | $50.00 | +$50.00 (+inf%) |
| 총 수익 | $41,992.92 | $33,109.96 | -$8,882.96 (-21%) |
2월은 2020년 8월 이후 TinyPilot이 처음으로 역성장한 달이었다. 물론 3만 3천 달러 매출이 적은 돈은 아니지만, 1월에 기록한 4만 달러 수준을 유지하길 기대했었다.
원인 중 하나는 재고 부족이었다. 월 중순에 신규 광고와 프로모션을 중단했는데, 전반기 마케팅 성과도 기대에 미치지 못했다.
자재 부족 사태 대응하기
1월 내내 공급업체들로부터 중국 춘제 때문에 2월에는 물류가 느려질 거라는 얘기를 들었다. 경고를 흘려듣지 않고 중국에서 들여오는 부품들을 3월 중순까지 쓸 수 있을 만큼 미리 사 두었다. 그래도 다들 과장하는 거라고 생각했다. 한 나라 전체가 한 달이나 멈출 리 없지 않은가? 일주일 정도 멈췄다가 다시 정상으로 돌아오겠지 싶었다.
2월 4일, 프리미엄 모델인 Voyager에 들어가는 HDMI 캡처 칩을 평소 거래하던 공급업체에 주문했다. 주문이 전혀 진행되지 않자, 그냥 너무 늦게 주문했구나 싶었고 월말에 업무가 재개되면 받겠거니 했다. 괜찮았다! 이미 대비해 둔 상황이었으니까.
2주 뒤, 이런 메시지를 받았다.

HDMI 칩 공급업체로부터 받은 나쁜 소식
처음에는 대수롭지 않게 생각했다. 다른 공급업체에 주문하면 되니까.
그런데 예비 공급업체마저 재고가 없다고 했다. 어라…
다른 공급처 몇 곳을 더 찾았지만, 한 번도 거래해 본 적 없는 해외 업체에 큰 금액을 주문하는 건 불안했다. 지금까지 완전히 사기를 당한 적은 없지만, 주문을 몇 달씩 붙잡고 발송하지 않는 업체는 여러 번 겪었다.
위험을 분산하려고 eBay와 AliExpress의 여러 판매자에게 주문을 나눠서 넣었다. 문제는 이 판매자들 대부분이 사실 같은 회사라는 점이다. 한 eBay 판매자는 아예 대놓고 그렇게 말하기도 했다.

위험을 나누려고 여러 업체에 주문했지만, 알고 보니 모두 다른 이름으로 운영하는 같은 업체였다.
주문을 넣을 때마다 다음 두 가지 중 하나의 상황이 반복됐다.
나쁜 경우
- 주문을 넣는다
- 업체가 재고가 없다며 기다리겠냐, 환불받겠냐고 묻는다
- 환불을 요청한다
- 돈은 돌려받지만 칩은 여전히 없다
더 나쁜 경우
- 주문을 넣는다
- 업체가 가짜 운송장 번호를 등록한다
- DHL에서 조회가 안 된다고 문의하면 곧 조회될 거라고 답한다
- 2일마다 3번 과정을 반복한다
- 돈도 칩도 모두 잃는다
같은 칩의 다른 변종으로 바꿔 보기도 했지만, 그 제품들도 마찬가지였다. 아직 재고가 완전히 떨어진 건 아니지만, 이대로 가면 2주 안에 재고가 바닥날 예정이다. 그 전까지는 Voyager 가격을 10% 올려 판매 속도를 늦추고 있다.
유튜브 성공이 반복되지 않을 수도 있다
TinyPilot의 첫 유튜브 리뷰 이후, 역대 최대 판매 급증을 경험했다. 당연히 “와! 유튜버 리뷰를 더 많이 받아야겠다”는 생각이 들었다.

첫 유튜브 리뷰로 판매량이 폭발적으로 증가했다
두 명의 유튜버와 추가로 리뷰를 진행했지만 결과는 훨씬 덜 극적이었다. 리뷰 자체는 긍정적이었지만 판매에는 측정 가능한 영향을 주지 못했다.

그럼에도 유튜브의 가능성은 여전히 크다고 본다. 서버 관리를 가르치는 유튜버는 셀 수 없이 많다. 그들이 로우레벨 관리 작업을 시연할 때 TinyPilot을 쓰도록 만들 수 있다면, TinyPilot 브랜드에 엄청난 가치가 될 것이다.
몰입할 시간 찾기
지난 몇 달 동안 시간에 쫓긴다는 느낌을 강하게 받았다. 할 일 목록은 끝없이 쌓여 있는데, 중요한 일보다 급한 일부터 처리하기 일쑤였다. 하루 대부분을 이메일 답장에 쓰며, 장기 목표에 도움이 되는 몰입 작업보다는 단기적인 일에 매달리고 있다.
반면에, 어쩌면 지금이 시간을 최적으로 관리하고 있는 것일 수도 있다. 업무 위임에 집중하고 있지만, 새로운 사람을 채용한다는 건 단기적으로 몰입할 시간이 더 줄어든다는 뜻이다. 사람들과 소통하고 신규 인력이 적응하도록 돕는 데 더 많은 시간을 쓰고 있다.
고객 지원은 아직 위임하지 않았다. TinyPilot의 매력 중 상당 부분이 고객이 나를 사업에 대해 직접 책임지는 사람으로 인식한다는 데 있다고 생각하기 때문이다. 기업용 KVM 업체에서는 엔지니어와 통화하는 것도 어려운데, CEO와 직접 연락하는 건 더더욱 불가능하다.
그렇다고 해서 고객 이메일에 답하느라 모든 시간을 쓰고 싶진 않다. 접근성을 유지하면서도 고객이 굳이 나에게 이메일을 보내지 않고도 더 쉽게 문제를 해결할 수 있는 방법을 찾으려고 한다.
고객 지원 업무를 줄이기 위한 계획은 다음과 같다.
- 지원 문서의 문구를 수정해, 직접 이메일보다 지원 포럼의 문의를 우선 처리한다는 점을 안내한다.
- 자주 반복되는 지원 질문에 대한 FAQ 글을 추가한다.
- 버그 수정과 사용성 개선에 더 많은 개발 리소스를 할애한다.
기존 프로젝트
아직 유지하고 있지만 주력 개발 대상은 아닌 프로젝트들의 근황을 간단히 전한다.
Is It Keto
| 지표 | 2021년 1월 | 2021년 2월 | 변동 |
|---|---|---|---|
| 순 방문자 | 80,177 | 60,437 | -19,740 (-25%) |
| 총 페이지뷰 | 182,367 | 135,865 | -46,502 (-25%) |
| 도메인 등급 (Ahrefs) | 11.0 | 11.0 | 0 |
| 애드센스 수익 | $677.36 | $584.18 | -$93.18 (-14%) |
| 아마존 제휴 수익 | $238.02 | $202.78 | -$35.24 (-15%) |
| 총 수익 | $915.38 | $786.96 | -$128.42 (-14%) |
Is It Keto는 새해 다짐으로 다이어트를 시작한 방문자 덕에 여전히 유입 증가 효과를 누리고 있다. 1월에서 2월로 넘어가며 감소한 폭은 2020년과 거의 동일하다.
사이트는 내가 손대지 않아도 백그라운드에서 계속 돌아가고 있다. 지난달에 꽤 괜찮은 가격에 사이트를 인수하겠다는 제안이 있었지만, 매각을 진행하는 데 드는 시간이 TinyPilot에 쏟을 시간을 너무 많이 빼앗을 것 같아 거절했다.
Hit the Front Page of Hacker News
| 지표 | 2021년 1월 | 2021년 2월 | 변동 |
|---|---|---|---|
| 순 방문자 | 1,042 | 483 | -559 (-54%) |
| 총 수익 | $2,565.22 | $359.95 | -$2,205.27 (-86%) |
아쉽게도 강의 홍보를 중단했다. 1월에 여러 마케팅 방법을 시도했지만 판매에 영향을 주는 것이 없어 보여 그만두었다. 강의에 그토록 많은 시간을 쏟았는데 성과가 너무 빨리 사라져 버려 아깝다는 생각이 든다.
Zestful
| 지표 | 2021년 1월 | 2021년 2월 | 변동 |
|---|---|---|---|
| 순 방문자 | 419 | 434 | +15 (+4%) |
| 총 페이지뷰 | 1,194 | 1,236 | +42 (+4%) |
| RapidAPI 수익 | $155.50 | $32.52 | -$122.98 (-79%) |
| 총 수익 | $155.50 | $32.52 | -$122.98 (-79%) |
Zestful도 백그라운드에서 꾸준히 돌아가고 있다. 기업 요금제에 대한 문의가 예상치 못하게 급증했지만, 아직 실질적인 결과로는 이어지지 않았다.
흥미로운 발견
Litestream
나는 데이터베이스 백업을 직접 책임지는 걸 싫어해서 항상 Google Cloud Datastore나 Google Firestore 같은 관리형 데이터베이스를 써 왔다. 하지만 Google이 자사 플랫폼 위에 구축한 것을 후회하게 만들면서, 대안을 찾기 시작했다.
Litestream은 내가 기다려 온 해답처럼 보인다. SQLite 데이터베이스를 S3 호환 인터페이스에 복제해 주는 가벼운 서비스다. 덕분에 예고 없이 서버를 완전히 날려버려도 모든 데이터가 S3 버킷에 안전하게 보관된다. 서버를 다시 시작하면 S3에서 데이터베이스를 자동으로 내려받아 별도의 수동 복구 없이도 그대로 재개된다.
Litestream을 시험해 보기 위해 TinyPilot용으로 필요했던 간단한 로그 붙여넣기 서비스를 만들었다. 어떤 Docker 호스팅 서비스(Heroku, Lightsail, DigitalOcean)에서도 실행할 수 있지만, Heroku와 Amazon S3 모두 무료 티어 안에서 돌아간다. 언제든 Docker 컨테이너를 삭제하고 다른 곳에서 다시 실행해도 동일한 데이터를 그대로 유지한 채 자동으로 복제가 계속된다.
Plaintext accounting
지난 2년 동안 마지못해 Xero로 장부를 관리해 왔다. 소프트웨어가 마음에 들지 않지만, 찾을 수 있는 중에는 가장 나은 장부 솔루션이다.
최근 plaintext accounting에 대해 알게 됐다. 커맨드라인 도구와 플레인텍스트 파일 기반의 복식부기로 재정을 관리하는 개발자 친화적인 방식이다. Xero와 비교하면 plaintext accounting이 훨씬 직관적이고, 제대로 하고 있다는 확신도 더 든다.
모든 도구가 학습 곡선이 가파르지만, 지금까지 가장 마음에 드는 건 Beancount다. 이 분야에서 가장 성숙한 도구 중 하나인데다 Python 기반이라는 점이 마음에 든다.
마무리
무엇을 했나?
- 프리랜서 개발자 3명을 TinyPilot에 채용했다
- 2명은 제품 개발에 주당 10~15시간, 1명은 웹사이트 작업에 주당 3~5시간 근무한다
- TinyPilot 지원 포럼과 FAQ를 만들었다
- TinyPilot 다음 릴리스의 기능 구현을 완료했다
- “My Third Year as a Solo Developer,”를 발행했으며, /r/programming에서 1위, Hacker News에서 7위를 기록했다
- 팟캐스트 두 곳에 게스트로 출연했다:
- The Hexdevs Podcast에서 경제적 자립에 대해 이야기했다
- The Entrepreneurial Coder Podcast에서 블로깅과 Hacker News에 대해 이야기했다
배운 점
- 범용 부품도 하룻밤 사이에 사라질 수 있다.
- 특정 HDMI 캡처 칩 하나에만 의존하는 것이 위험하다는 건 인지하고 있었다.
- 수십 개 업체가 이 칩을 판매하고, 언제든 1000개 이상 재고를 보유하고 있다고 표시하는 경우도 많아 위험이 낮다고 생각했다.
- 최악의 경우 같은 칩셋을 쓴 다른 보드로 갈아타면 된다고 생각했는데, 그런 보드도 여러 종류가 있었다.
- 실제로 부족 사태가 닥치자 두 가지 가정 모두 깨졌다. 모든 업체가 모든 보드 변종에 대해 동시에 재고가 동났고, 이는 공급업체들이 보기보다 서로 독립적이지 않다는 것을 드러냈다.
- 춘제에 더 철저히 대비해야 한다
- 일주일 정도 응답이 느려지겠거니 예상했지만, 대부분의 업체가 2월 대부분 동안 문을 닫았다.
- 앞으로는 2월 초부터 3월 말까지 중국 공급업체가 완전히 연락이 두절되고 신규 부품을 발송할 수 없다고 가정하고 계획을 세울 것이다.
다음 달 목표
- 주문 처리를 인계받을 지역 파트타임 직원 2명 채용하기
- 현재 TinyPilot 주문 처리 담당자가 6월에 대학원으로 복귀한다.
- 블로거 또는 유튜버 5명을 TinyPilot 제휴 프로그램에 유치하기
- 랙 마운트형 TinyPilot에 대해 고객 10명에게 피드백 받기
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기