TinyPilot:21か月目
一言まとめ
さらに作り込むべきか、今あるものを磨き込むべきか?
ハイライト
- TinyPilotは過去最高の売上を記録し、総売上は69,232ドルになりました。
- ウェブサイトのリニューアルで、予算を32,000ドル、期間を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四半期の利益は健全な16,000ドル、月平均5,300ドル(追記(2022-04-29):数字が間違っていました。実際には2022年第1四半期は10,000ドルの赤字でした)となっています。

ユニーク訪問者あたりの売上は2022年3月に過去最高を記録しました。
ユニーク訪問者あたりの売上は10.49ドルと、過去最高を記録しました。参考までに、ちょうど1年前の訪問者あたりの平均売上は約4ドルでした。これはとても良いニュースです。マーケティングに力を入れる前に、まずウェブサイトのコンバージョン率(いわゆる「ファネルの最下部」)を高めることに集中するというのが私の計画だったからです。この指標の伸びは、計画がうまくいっていることを示しています。製品、価格設定、ウェブサイトの改善によって、購入につながりやすくなったのだと思います。
また自由な時間ができました!
2月には、TinyPilotを週20時間で運営するにはどうすればよいかを考えました。まだそこまでには至っていませんが、着実に前進しています。
私の時間を最も奪っていたのはテクニカルサポートで、週に8時間かかっていました。採用に何百時間もかかったため、委譲するのが最も難しい業務でした。適任のエンジニアが見つかった後も、2年分の暗黙知が私の頭の中にしかなかったため、教育に時間がかかりました。
嬉しいことに、その山は越えました。TinyPilot初のサポートエンジニアであるDiegoが、現在はサポートフォーラムの質問すべてに対応してくれているため、私のサポート対応は週8時間を下回るようになりました。彼が初めて書いたチュートリアルは、TinyPilotでTailscaleを設定する方法のガイドでした。
現地スタッフにもっと責任を任せるようにもしています。例えば今週、Voyager 2の組み立てに使っているネジのモデルが、どこでも在庫切れになっていることが分かりました。

通常なら供給不足は私が直接対応するところですが、チームの他のメンバーが新しい業務を担う良い機会です。
本来であれば、私がケースの設計者と連携して代替品を探し、新しいネジで組み立てを試すところですが、メールを送る直前で思いとどまりました。これは現地スタッフがより多くの責任を担う良い機会だと考え、彼らに主導を任せることにしました。
3月を通して、時間の使い方に大きな変化を感じました。この半年ほどは、ほとんどの日でやるべきことが終わらず、重要だが緊急ではないタスクを先送りにしていました。3月は、昼過ぎには緊急のタスクを終え、マーケティングや自動化、権限委譲に投資する自由な時間が持てる日が多くなりました。
空いた時間を、また人を雇ったりTinyPilotの新機能を探したりといった“付け足す”ことに使いたい誘惑をこらえています。そういったことは、最初に見えるよりも常に複雑になるのだと、自分に言い聞かせています。
2021年は、多くのグロース施策を抱えて手一杯でした。だから今は、すでにあるものを最適化する時期です。
- リリースプロセスの自動化
- エンドツーエンドテストの自動化
- お客様がサポートに問い合わせてくるのを待つのではなく、こちらから積極的に話を聞くこと
- TinyPilotのカスタマーサービス担当とサポートエンジニアの間のエスカレーション体制の確立
- 製造パートナーとの業務フローの改善
再投資を続けるか、収益を回収し始めるか?
TinyPilotを始めてからずっと、短期的な利益は度外視し、長期的な成長に注力してきました。赤字にならないようにだけはしてきましたが、収益をすべて製品改善に再投資し、収支トントンで回すことはいとわないという考えでした。
再投資は勢いづくりだと考えていました。売上が月3,000ドルだったとして、製品改善に5,000ドルかけて月4,000ドルに伸ばせれば、その5,000ドルは一度きりの出費ですが、その後はTinyPilotの売上の伸びが恒久的に高まります。
ただ、私はベンチャーキャピタルの支援を受けたスタートアップではありません。永遠に成長を続けてIPOで一攫千金を得るのが目的ではないのです。いつかは成長への再投資をやめ、収益を手元に残し始めなければなりません。今がその時なのでしょうか?
当面の主な支出は、Voyager 2の回路設計を量産向けに最適化する費用(月1万~2万ドル)と、販売サイトのリニューアル費用(月5,000~6,000ドル)です。数か月以内にVoyager 2の基板が固まり、ウェブサイトの改修も落ち着けば、コストは大幅に下がります。現状の売上を維持できれば、新たなプロジェクトを始めないだけで月に2万ドルの利益が出るようになります。
当初の計画では、Voyager 2の生産が安定し次第すぐに、電気設計のパートナーとVoyager 3に取りかかる予定でした。Voyager 3の開発には、今後6か月で月1万5,000~2万5,000ドルかかり、今年いっぱいの利益が消えてしまいます。しかも、新製品のリリースはTinyPilotの内部ワークフローの多くを変えるため、私の時間も大きく奪われます。
現時点では、そろそろ収益を回収する時期だと考えています。新しいプロジェクトは年内にまた始められますが、まずは売上を7万~9万ドルの水準まで伸ばし、利益をすべて吐き出さずに製品改善へ投資できるようにしたいです。
デザイン会社と仕事をする前に知っておきたかったこと
9月には、TinyPilotのウェブサイトを改善するためにデザイン会社に依頼しました。当時は6週間、費用7,000ドルで終わる想定でした。6か月たった今、すでに39,577ドルを費やし、プロジェクトはまだ完了していません。
なぜこうなったのでしょうか。会社側のミスを挙げることもできますが、根本的な問題は、私がデザイン会社と効果的に仕事をする方法を知らなかったことにあります。これまでフリーランスにしか発注したことがなく、会社に頼むことで力学がどれほど変わるかを理解していませんでした。
これから会社に依頼する人の役に立てばという思いと、自分自身への備忘録として、最初に知っておきたかったことを書き残しておきます。
デザイン会社は管理の手間が減るどころか増える
この会社に依頼した際の根本的な誤りは、管理に必要な時間を見くびっていたことです。
会社は月に40~60時間、私のために稼働します。これはTinyPilotの他のフリーランスと同じ稼働時間なので、同じ程度のマネジメントで済むと思っていました。もっと多くの時間を管理に充てるべきでした。
デザイン会社と仕事をする場合、複数の担当者がそれぞれ別々のサブプロジェクトを進めており、相手にする人数が増えます。人数が増えれば、当然管理の時間も増えます。
例えば、週40時間働く従業員1名のマネジメントに週6~8時間かかるとします。その役割を週20時間ずつ働く2名に分ければ、管理時間はおそらく週10~12時間に膨らみます。従業員の総稼働時間は同じでも、1名ではなく2名とコミュニケーションを取ることで効率が落ちるのです。
同じ理屈がデザイン会社にも当てはまります。月40時間分の作業をしてもらう場合でも、1人のフリーランスに同じ作業を頼むより、6名の会社メンバーを管理する方がクライアント側の負担は重くなります。
スコープは徹底的に守る
このプロジェクト最大の問題はスコープ管理でした。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%の仕上がりで、1つとして使えないという事態になります。
『Getting Things Done(はじめてのGTD ストレスフリーの整理術)』の中で、デビッド・アレンは未完了のタスクを「オープンループ」と呼んでいます。オープンループが増えるほど集中力は低下します。1つ1つが頭の中のメモリを少しずつ占有するからです。フリーランスであれば同時に抱えるオープンループは2つ程度ですが、デザイン会社では5~10倍に膨らみ、しかも長引きます。
オープンループは費用対効果の面でも損です。6か月で6つのタスクを完了する必要があるとします。個人に頼めば、月に約1つずつ納品されます。月末に支払えば、支払いと同じタイミングで成果の恩恵を受けられます。一方、会社では6つのタスクを6人に割り振り、それぞれがプロジェクトに1/6の時間しか充てないかもしれません。5か月目の時点で、会社には80%の報酬を支払っているのに、1つも完了していないため恩恵は0%ということも起こり得ます。
最初は時間単価で、続けてリテイナー契約へ
私が依頼している会社は、時間単価制とリテイナー制の両方を提供しています。時間単価制では、30時間分の枠を前払いで購入し、その時間が消化されるまで対応してもらいます。リテイナー制では、毎月一定時間(最低40時間)をコミットします。時間単価より20%割安ですが、未使用分は翌月に繰り越せず、解約には28日前の通知が必要です。
気づいていなかったのは、時間単価のクライアントは数か月にわたってリソースを回してもらえなくなることがあるという点です。10月に取引を始めた当初は2か月ほど仕事の質が高かったのですが、12月に急激に落ち込みました。
当時は単なる年末の繁忙期かと思いましたが、1月になっても状況が続いたため、オーナーに指摘しました。すると、会社で人手が減り、新たにリテイナー契約のクライアントが増えたため、唯一の時間単価クライアントであるTinyPilotにリソースを割り当てるのが難しくなっていると打ち明けられました。優先度を保証するためにリテイナー契約への切り替えを勧められました。
正直、腹が立ちました。自分たちの都合で私のプロジェクトの優先度を下げておいて、さらに大きなコミットを求めるとは、と。しかし同時に、理解もできます。会社も小さなビジネスであり、単発の仕事より長期のクライアントを優先したいのです。会社からは10月の時点でリテイナーなら優先されると聞いていましたが、その差がどれほど大きいか分かっていませんでした。
もう一度やるなら、まず30時間の枠を1回、お試しとして時間単価で購入し、その後は残りの期間をリテイナー契約に切り替えます。スケジュール上で時間が確保されている分、月の中で散発的に数時間だけ対応してもらうよりも、質の高い成果が期待できます。
サイドプロジェクト
PicoShare
PicoShareは、2月に私が作ったオープンソースのミニマルなファイル共有ツールです。
PicoShareは画像や動画などのファイルを共有するためのツールです。
私は仕事でもプライベートでも、画像や動画、PDFを他の人と共有することがよくあります。仕事用のファイルを送るのに、imgurやmega.nzにアップロードしたリンクを送るのは、どうも頼りなく感じます。ああいったサービスは「きちんとしたビジネス上のやり取り」という印象を与えません。かといってGoogle DriveやDropboxも、UIが邪魔になったり、相手にファイルを見る前にアカウント作成を求めたりするので好きではありません。PicoShareなら、サードパーティのサービスに頼らず、簡単に共有できるリンクを作成できます。
3月20日にPicoShare v1.0.0を正式にリリースし、/r/selfhostedサブレディットで告知しました。反応は好意的でしたが、爆発的というほどではありませんでした。しかし、その後数週間でじわじわと注目を集めていきました。
YouTubeクリエイターのDavid Burgess氏がPicoShareについての動画を作り、続いてHal Gus氏も動画を公開しました。セルフホスティング系ブロガーも、Synology NASへのPicoShareのインストール方法についてチュートリアルを書いてくれました(私の初めてのブログ投稿がSynology NASでDockerイメージをセットアップする方法についてだったので、個人的に感慨深い出来事でした)。
PicoShareは、今まで私が作った中で最も急速に成長しているプロジェクトになりました。最初のコミットは2月13日で、現在GitHubで664スターを獲得しています。比較すると、TinyPilotは約2年で1,800スター、LogPasteは1年で201スターです。
オープンソースの開発者の方々から、素晴らしいコードの貢献もありました。
- @viktorpenelskiさんが共有ファイルを無期限に保持するオプションを追加してくれました。
- @dertuerkeさんがファイルサイズの人間に読みやすい表示(例:「1530000 bytes」ではなく「1.53 MB」)を追加してくれました。
- @dertuerkeさんが「クリップボードにコピー」ボタンを追加してくれました。
マルチアーキテクチャのDockerイメージにも対応したので、Raspberry PiのようなARMベースのシステムでもPicoShareのDockerイメージを動かせます。マルチアーキテクチャビルドの作成手順は驚くほどシンプルなのですが、手順が次々と変わるため説明を見つけるのがとても大変でした。
ライブデモサーバーも用意しました。当初は、違法なコンテンツのアップロードや帯域の使い切りに悩まされるのを避けるため、躊躇していました。しかし、デモサーバーでは自分のIPアドレスからアップロードされたファイルにしかアクセスできないように制限すれば、サービスを試してもらいつつ、悪用を抑えられることに気づきました。
まとめ
何ができたか?
- TinyPilot Pro 2.4.0をリリースした
- PicoShare 1.0.0をリリースした
- TinyPilot初のサポートエンジニアを育成した
学んだこと
- デザイン会社のマネジメントは、フリーランスとは勝手が違うということ。
- セルフホスト型ツールのDockerイメージを用意すると、魅力がぐっと高まるということ。
- PicoShareがこれほど早くユーザーを獲得できたのは、Dockerコマンド1つで動かせるからだと思います。
来月の目標
- TinyPilotを使って自宅ラボ用のNASサーバーを構築する方法について、ブログ記事と動画を公開する。
- TinyPilotウェブサイトのリニューアルを完了させる。
- WebRTC経由でのH264ビデオの実験的サポートをオプトインで含むTinyPilot Proのリリースを公開する。
記事をランダムに読む