TinyPilot: Month 7

Michael Lynch

TinyPilot: 7개월차

원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기

한 줄 요약

TinyPilot은 행복한 고민을 안고 있다.

하이라이트

  • TinyPilot은 12월 1만 5천 달러에서 1월 4만 2천 달러로 매출이 급증하며 놀라운 성장을 달성했다.
  • TinyPilot 매출의 대부분은 단 하나의 긍정적인 유튜브 리뷰에서 나왔다.
  • TinyPilot은 수요를 감당하느라 허둥대는 사이 성장통을 겪고 있다.

목표 성적표

매달 초에 나는 이루고 싶은 목표를 정한다. 그 목표들에 대해 어떤 성과를 냈는지 돌아보면 다음과 같다:

TinyPilot 개발을 도울 프리랜서 개발자 채용하기

  • 결과: 한 명을 시범 채용했으나 잘 맞지 않았고, 현재 다른 한 명과 시도 중이다.
  • 성적: A

새로운 개발자를 채용하는 일은 느리게 진행되지만 계획대로 되고 있다. 시범 채용을 거칠 때마다 새 인력이 더 빠르게 적응하도록 돕는 방법을 찾고 있다. 앞으로 어떤 자질을 갖춘 사람을 찾아야 할지도 더 잘 알게 된다.

관련 독자층을 보유한 블로거 또는 유튜버 두 곳으로부터 TinyPilot 리뷰 받기

  • 결과: 유튜브 리뷰 한 건을 받았고, 두 건은 진행 중이다
  • 성적: A-

유튜버들이 새 영상을 만드는 데 얼마나 오래 걸리는지 과소평가했다. 새로운 리뷰 하나가 공개됐지만, 이는 11월에 내가 먼저 연락한 결과다. 다른 두 유튜버도 리뷰를 하기로 했지만 아직 영상을 제작 중이다.

다만 리뷰 하나가 거의 감당하기 힘들 정도의 파급력을 가져왔다. 자세한 내용은 아래에서 다루겠다.

Hit the Front Page of Hacker News로 4천 달러 매출 올리기

  • 결과: 2,600달러 매출 달성
  • 성적: C

이 강좌는 내가 기대한 대로 풀리지 않았다. 콘텐츠 자체는 자랑스럽지만, 예상보다 훨씬 적은 사람들이 구매하고 있다.

여러 가지 방법으로 마케팅을 시도해 봤지만, 어느 것도 매출에 눈에 띄는 영향을 주지 못했다.

TinyPilot 통계

지표2020년 12월2021년 1월변동
순 방문자3,48611,249+7,763 (+223%)
총 페이지뷰5,78517,737+11,952 (+207%)
판매 매출$15,358.31$41,992.92+$26,634.61 (+173%)
후원금$9.00$0.00-$9.00 (-100%)
총 매출$15,367.05$41,992.92+$26,625.87 (+173%)

이 한 달은 TinyPilot에게 엄청난 한 달이었다. 매출이 1만 5천 달러에서 4만 2천 달러로 뛰었다.

매달 “와, 이번 달은 운이 좋았어! 다음엔 이렇게는 못 하겠지”라고 생각한다. 그런데 다음 달이면 또 더 큰 성장이 이어진다. 이번에도 그 행운이 계속되길 바랄 뿐이다.

TinyPilot의 첫 유튜브 리뷰

1월 매출의 대부분은 단 하나의 출처에서 나왔다. 바로 IT 하드웨어를 다루는 유튜브 채널, Craft Computing이다. 전문가와 홈 랩 애호가를 위한 채널이다.

나는 작년 초 Proxmox 설치에 대한 훌륭한 튜토리얼을 통해 Craft Computing 채널을 알게 됐다. 몇 달 뒤 진행자가 IT 매니저 일을 그만두고 독립했다는 소식을 전했을 때, 나는 동질감을 느꼈다.

11월에 나는 채널 진행자인 Jeff에게 연락해 TinyPilot 리뷰에 관심이 있는지 물었다. 그가 흔쾌히 수락해서 바로 제품 하나를 보냈다. 몇 달 동안 아무 소식이 없어서, 내가 보낸 Voyager가 기업들이 보내온 무료 장비 더미 속에 방치된 건 아닌가 걱정하기 시작했다.

1월 12일 잠자리에 들려던 참에 Jeff에게서 리뷰가 올라왔다는 이메일이 왔다.

정말 비현실적인 순간이었다. 여자친구와 나는 거실의 큰 TV로 그 영상을 봤는데, 1년 동안 지켜봐 온 유튜버가 내 제품을 들고 커다란 화면에서 나에게 직접 이야기하는 모습을 보게 된 것이다!

Jeff는 TinyPilot을 마음에 들어 했고 인상 깊었던 여러 지점을 공유했다. 나는 영상 내내 그가 갑자기 말을 멈추고 “사실… 마음을 바꿨어요. 이 제품 별로예요. 아는 사람 모두에게 사지 말라고 하세요”라고 말할까 봐 조마조마했다. 다행히 리뷰는 끝까지 긍정적이었고, 지적한 부분도 사소했다.

효과는 강력하고 즉각적이었다. 다음 날 33건의 주문을 받아 5천 달러의 매출을 올렸는데, 이전 판매 기록을 훨씬 뛰어넘는 수치였다. 그 다음 날 주문 수는 줄었지만 더 많은 고객이 고급형 키트를 구매하면서 총 매출은 거의 비슷하게 유지됐다.

2021년 1월 일별 TinyPilot 매출 및 주문 수

셋째 날에는 주문이 잦아들 거라 예상했고 실제로 조금 줄긴 했지만, 주문은 계속 들어왔다. 재고는 이런 갑작스러운 수요 급증을 감당할 수 있게 준비해 두었지만, 이렇게 오래 지속될 줄은 예상하지 못했다.

TinyPilot의 물류 담당자와 나는 첫 주 동안 주문을 간신히 처리했지만, 8일째가 되자 완전히 지쳐버렸다. 일부 부품이 떨어졌는데 2일 배송 약속을 지키려면 제때 보충할 수 없는 상황이었다. 그래서 잠시 대부분의 제품을 백오더 상태로 전환했다. 며칠 뒤 다시 정상 궤도에 올랐고 주문량도 감당 가능한 수준으로 내려왔다.

TinyPilot의 첫 번째 포스트모템

무비판적 포스트모템은 내가 Google에서 일하며 배운 가장 가치 있는 관행 중 하나다. 뭔가 크게 잘못됐을 때, 먼저 상황을 안정시킨 뒤 무슨 일이 있었는지 분석하는 보고서를 작성하는 것이다.

이름 그대로, 이 문서는 누구의 잘못도 따지지 않는다. “Michael이 바보같이 잘못된 파일을 삭제해서 장애가 발생했다” 같은 식이 아니다.

포스트모템의 기본 전제는 팀원 모두가 똑똑하고 성실하다는 것이다. 그래서 문제가 생겼다면 사람이 아니라 시스템이 실패한 것이다. 실패가 누군가의 어리석은 실수처럼 보일 때조차, 근본 원인은 예상 가능한 인간의 실수로부터 보호하지 못한 프로세스에 있다.

Craft Computing 리뷰 이후, 나는 물류 담당자와 함께 TinyPilot의 첫 포스트모템을 진행했다. 아래는 우리가 발견한 주요 문제들과 이를 완화하기 위해 마련한 대책들이다.

재고 목표치가 너무 낮았다

우리는 스프레드시트로 재고를 관리한다. 보유한 각 부품마다 재고로 유지할 최소치와 최대치를 정한다. 예를 들어 라즈베리 파이는 최소 40개, 최대 80개로 설정해 두었다. 즉, 라즈베리 파이 재고가 40개 아래로 떨어질 때마다 80개까지 채울 만큼 주문하는 식이다.

TinyPilot 재고 스프레드시트 스크린샷

TinyPilot 재고 스프레드시트

문제는 우리가 재고가 바닥나서 계획이 잘못됐음을 깨달은 뒤에야 목표치를 조정했다는 점이다. 그러다 보니 부족 사태가 닥치면 너무 당황해서 새로운 목표치를 이성적으로 판단하기 어렵다.

  • 해결책: 최근 주문량을 기준으로 매달 재고 목표치를 조정한다.
  • 해결책: 다음 주문 급증은 이전의 어떤 급증보다 더 강할 것이라고 가정한다.
  • 해결책: 특정 부품이 품절되거나 아슬아슬하게 모자란 경험이 있으면 해당 부품의 재고 목표치를 두 배로 늘린다.

긴급성이 드러나지 않았다

재고 스프레드시트를 쓰는 우리의 기본 워크플로는 최소치 아래로 떨어진 품목을 ‘보충’하는 것이다. USB 케이블 재고가 재주문 기준 아래로 떨어졌을 때, 우리는 평소대로 일반 배송으로 새로 주문했다.

고객들이 너무 빠르게 구매하고 있어서 새 배송이 도착하기 전에 재고가 바닥날 것이라는 사실을 알아차리지 못했다. 다음 날 우리는 늦게 도착할 배송까지 버티기 위해 항공 특급 배송으로 추가 주문을 넣었다.

  • 해결책: ‘재고 있음’ 열의 수치가 위험할 정도로 낮아지면 하이라이트 표시한다.
  • 해결책: Amazon Business Prime으로 업그레이드해 2일 배송을 당연한 선택으로 만든다.
  • 해결책: 추세에 기반한 알림 기능을 제공하는 재고 관리 소프트웨어를 찾아본다.

처리 기간이 너무 짧다

TinyPilot을 처음 시작했을 때 나는 영업일 기준 하루 안에 제품을 발송하겠다고 약속했다. 하지만 하루 만에 처리하는 것은 지속 가능하지 않다는 것이 금방 드러났다. 계속해서 하던 일을 중단하고 급하게 주문을 처리해야 했기 때문이다. 몇 주 뒤 공식 처리 기간을 이틀로 늘렸다.

유튜브 리뷰 이후 일주일 동안 허둥대다 결국 제품을 백오더로 전환해야 했지만, 배송 약속이 3일이었다면 백오더를 피할 충분한 여유가 있었을 것이다. 이전에 백오더가 발생했거나 아슬아슬했던 경우의 약 80%가 단 하루 차이로 갈렸다는 사실도 알게 됐다.

이틀이라는 기간은 너무 많은 스트레스를 만들었다. 어차피 대부분의 주문은 다음 날 바로 발송하고 있고, 고객들도 공식 처리 기간이 2일이냐 3일이냐에 대해 크게 신경 쓰지 않을 것이다.

  • 해결책: 공식 처리 기간을 3일로 늘린다.

부품을 팩 단위로 재주문하는 방식이 불필요한 인지 부담을 만든다

우리는 일부 부품은 개별로, 일부는 한 패키지에 2개 또는 3개씩 들어 있는 팩 단위로 구매한다. 예를 들어 전원 어댑터는 3개 팩으로 구매한다. 그런데 재고 스프레드시트에는 팩 수가 아니라 전원 어댑터의 절대 개수가 적혀 있다.

주문이 몰렸을 때 우리는 전원 어댑터 150개를 주문하려 했지만, 실수로 150팩(3개입)을 주문해서 총 450개가 들어왔다.

초과 주문은 사람의 실수였지만, 우리 시스템이 실수를 유발하기 쉬운 구조임을 보여준다. 주문하는 사람이 품목마다 다른 암산을 해야 하기 때문이다.

해결책: 스프레드시트에 팩당 수량을 반영한 ‘재주문 수량’ 열을 추가한다.

TinyPilot은 어떻게 확장할 수 있을까?

TinyPilot은 내가 예상했던 것보다 훨씬 빠르게 성장하고 있다. 다행히 기존 프로세스들이 지금까지는 성장을 감당해 왔지만, 이런 추세가 계속되면 곳곳에서 한계가 드러나기 시작할 것이다. 몇 가지 측면에서 성장을 어떻게 확장해 나갈지 계획은 다음과 같다.

고객 지원 확장

TinyPilot 고객이 늘어나면서 지원 이메일도 늘고 있다. 어떤 날은 업무 시간의 절반을 기술 지원에 쓰기도 한다.

블로그 글에서 Lunch Money의 창업자 Jen Yip이 쓴 이야기가 떠올랐다. 그녀는 사업의 모든 측면을 혼자 운영하면서, 사용자가 흔한 문제를 스스로 해결할 수 있도록 앱에 기능을 넣어 지원 부담을 최소화한다.

TinyPilot 지원 요청의 약 절반은 사실 제품의 빈틈 때문이다. 흔한 요청 중 하나가 “WiFi를 어떻게 켜나요?”이다. 지금은 커맨드 라인에서 설정하는 방법을 설명하는 링크를 보내주고 있지만, 사실 이건 사용자가 TinyPilot 웹 인터페이스에서 바로 할 수 있어야 하는 기능이다.

앞으로 TinyPilot 소프트웨어를 개발하면서 사용자 혼란을 없애는 기능과 문제가 생겼을 때 디버깅 도구를 더 쉽게 쓸 수 있도록 하는 기능을 우선순위에 두고 있다.

제조 확장

3D 프린팅 부품은 설계 변경이 빠르고 저렴하다는 장점이 있다. 단점은 확장이 잘 안 된다는 것이다. 내 Voyager 케이스를 만드는 랩은 내가 원하는 소재로 주당 40개밖에 생산할 수 없는데, 곧 병목이 될 것이다.

다음 단계는 사출 성형이다. 기본적으로 제조사가 케이스의 강철 또는 알루미늄 금형을 만든 뒤 플라스틱을 채워 눌러 찍어내는 방식이다. 금형을 만드는 데는 시간과 비용이 많이 들지만, 일단 만들고 나면 하루에 1,000개를 저렴하게 생산할 수 있다. 여러 업체에 견적을 요청했지만 2만~4만 달러 선으로, 현시점에서는 다소 부담스러운 금액이었다.

3D 프린팅을 병렬화할 수 있을지 다른 랩들에도 문의해 봤다. 문제는 내가 선호하는 소재가 탄소 섬유 소재라 3D 프린팅 랩에서 흔하지 않다는 점이다. 그래서 취급하는 업체가 많지 않고, 취급하는 곳도 현재 내가 지불하는 가격보다 10~15배 높은 견적을 제시했다. 그래도 Voyager의 마진이 충분히 높아서 정말 필요하다면 케이스 비용이 올라도 수익을 낼 수 있다.

다른 한 랩에서는 더 빠르게 출력할 수 있는 대체 소재로 비슷한 결과를 낼 수 있다고 했다. 나는 그들에게 샘플을 요청하고, 주 거래 랩과도 대체 소재에 대해 논의 중이다.

내 여자친구이자 재고 관리자인 그녀가 회로 기판 테스트와 Voyager 조립 같은 최종 제조 단계를 맡고 있다. 풀타임 대학원생인 그녀가 주문 처리, 재고 관리, 조립 등 다른 업무까지 감당할 시간이 부족해지는 시점이 올 수도 있다. 그래서 그녀의 가용 시간이 한계에 도달했을 때 어떤 업무를 외주할 수 있을지 검토 중이다.

개발 확장

TinyPilot 운영의 다른 업무들 때문에 아쉽게도 소프트웨어 작업에 쓸 시간이 거의 없었다. 12월에 나는 그 공백을 메워줄 파트타임 개발자를 찾기 시작했다. 직무를 설명하기 위해 두 문서를 준비해 몇몇 소규모 채널에 공유했다:

내가 채용하는 모든 프리랜서 직무 중 소프트웨어 개발이 항상 가장 어렵다. 소프트웨어에 대한 기준이 높다 보니 품질과 유지보수성에 대해 나와 비슷한 열정을 가진 개발자를 찾기가 어렵다.

후보자를 면접하는 대신 바로 시범 채용으로 들어간다. 첫 번째 채용은 잘 맞지 않았지만, 상대방은 과정 자체에 만족했다고 했다. 또 이를 통해 새로운 개발자가 코드베이스에 더 쉽게 적응하도록 돕는 방법도 찾을 수 있었다.

기존 프로젝트

아직 유지보수는 하고 있지만 주력 개발 대상은 아닌 프로젝트들에 대한 간략한 업데이트는 다음과 같다:

Hit the Front Page of Hacker News

지표2020년 12월2021년 1월변동
순 방문자2,5951,042-1,553 (-60%)
총 매출$1,431.00$2,565.22+$1,134.22 (+79%)

개발자 독자를 대상으로 블로그 글을 쓰는 법을 다룬 나의 강좌 Hit the Front Page of Hacker News가 마침내 1월에 출시됐다. 출시 시점에 매출이 뛰긴 했지만 기대에는 크게 못 미쳤다. 이 강좌의 목표는 연말까지 2만 달러를 버는 것이었는데, 지금으로선 달성하기 어려워 보인다.

지금까지의 판매 실적이 실망스럽다고 Cory Zue에게 말하자, 그는 TinyPilot 수익 때문에 내가 얼마나 눈이 높아졌는지 놀렸다. 이 강좌는 1월 한 달 동안에만 내가 인디 개발자로서 첫 1년 동안 번 돈보다 더 많이 벌었기 때문이다.

이달 말에는 강좌를 제작하고 마케팅하면서 배운 점에만 집중한 회고를 쓸 계획이니, 더 자세한 이야기는 그때 전하겠다.

Is It Keto

지표2020년 12월2021년 1월변동
순 방문자49,37380,177+30,804 (+62%)
총 페이지뷰93,242182,367+89,125 (+96%)
도메인 점수 (Ahrefs)10.011.0+1.0 (+10%)
AdSense 수익$334.72$677.36+$342.64 (+102%)
Amazon 제휴 수익$149.99$238.02+$88.03 (+59%)
총 매출$484.71$915.38+$430.67 (+89%)

Is It Keto는 내가 사이트를 전혀 손대지 않았는데도 기록적인 한 달을 보냈다. 다이어트와 관련된 사이트라 새해 결심과 맞물려 항상 관심이 급증하기 때문이다.

Zestful

지표2020년 12월2021년 1월변동
순 방문자507419-88 (-17%)
총 페이지뷰1,5111,194-317 (-21%)
RapidAPI 수익$103.33$155.50+$52.17 (+50%)
총 매출$103.33$155.50+$52.17 (+50%)

Zestful은 유지보수 모드에 있음에도 소폭 성장하고 있다. 성장은 오랫동안 이용 중인 한 고객의 사용량 증가 덕분인 것으로 보인다.

마무리

무엇을 해냈나?

배운 점

  • 유튜브 리뷰는 엄청난 파급력을 가질 수 있지만, 시간이 걸린다.
    • 첫 리뷰의 결과를 보고 나니, 분명 더 파고들고 싶은 채널이지만 새로운 리뷰를 잡는 데는 몇 달이 걸릴 것이다.
  • 성장하면 프로세스 뒤에 숨은 가정들을 재점검하라.
    • 이 교훈은 계속해서 다시 배워야 하는 것이다. 나는 종종 어떤 업무를 위해 프로세스를 만들고는 습관처럼 굳어지게 둔다. 그러다 보면 그 프로세스에 대해 비판적으로 고민하는 것을 멈추고, 더 이상 유효하지 않을 수도 있는 조건을 전제로 설계했다는 사실을 놓치게 된다.
    • 정기적으로 한 걸음 물러서서 그 프로세스가 여전히 최적인지 점검하는 것이 중요하다.

다음 달 목표

  • 블로거 또는 유튜버 다섯 명을 TinyPilot 제휴 프로그램에 유치하기.
  • 지원 또는 제조 비용을 줄이는 기능 두 가지를 TinyPilot에 추가하기.
  • 잠재적인 랙 마운트 버전의 TinyPilot에 대해 고객 10명으로부터 피드백 모으기.

이 글은 muse-spark-1.2-contributor 모델을 사용해 번역했습니다.

댓글