ソロ開発者としての3年目
今日で、Googleを辞めて自分のソフトウェアビジネスを立ち上げてから3年が経ちました。1年目と2年目の終わりにも進捗を報告してきましたので、今年も成果を共有したいと思います。
すべてが噛み合った一年
独立してからの最初の2年間で、私が稼いだ金額は合計で1万ドルにも届きませんでした。3年目の目標は、収益で2万ドルを稼ぐことでした。
年の半ば時点では、目標には届かないように見えました。事業全体の売上は月に約300ドルで、新しく試したアイデアもどれもうまくいっていなかったからです。
しかし奇跡的に、5月に始めた一つの新プロダクトがすべてを好転させました。年末までに収益は6万3千ドルに達し、目標を大きく上回ることができました。
とはいえ、純利益はまだ赤字です。今回はちゃんとした理由があるのですが。
今は物理的な製品を販売しているため、支出が先行し、収入は2〜3ヶ月遅れて入ってきます。1件あたりの利益率は30〜50%なので、数字はやがて追いついてくるはずです。
赤字が続くのに、どうやって生活できているのですか?
詳しくは昨年の振り返りで説明していますが、簡単に言えば、生活費が安いこと、Google時代に貯めた貯蓄があること、そして投資による不労所得があるからです。
プロジェクトごとの振り返り
TinyPilot

TinyPilotは、サーバーを遠隔で管理するために私が作った手頃な価格のデバイスです。
ここ数年、ソフトウェア開発はすべて自宅のサーバーで行ってきました。とても快適なのですが、ネットワーク設定を間違えたときや新しいOSをインストールしたいときには困ります。サーバーにはモニターもキーボードもつながっていないので、わざわざ机まで運び、ワークステーションのケーブルをすべて差し替えて、作業が終わったらまた元に戻さなければなりませんでした。
Raspberry PiがUSBキーボードとして振る舞えること、そして映像をキャプチャできることは知っていました。この2つの機能をウェブアプリで組み合わせれば、Piを小型のリモート管理デバイスに変えられるのではないかと考えたのです。
数ヶ月いじくり回した末、動くプロトタイプが完成しました。


オープンソースのKVM over IPデバイス、TinyPilotのプロトタイプ
そもそも市場があるのか疑問でした。なぜわざわざ私からこのデバイスを買う必要があるのでしょうか。ありふれたハードウェア部品を組み合わせただけのものです。週に1、2人のお客さんが買ってくれて、1キットあたり80ドルの利益が出れば、梱包や発送の手間に見合うだろうと考えていました。
そして、ブログ記事を公開しました。
すぐに、このビジネスがこれまでやってきたこととは何かが違うと分かりました。記事を公開して4時間も経たないうちに、在庫の9キットはすべて売り切れ、バックオーダーになっても注文は入り続けたのです。
1週間で、そのブログ記事が8800ドルの売上をもたらしました。記事はHacker Newsのトップページに掲載され、歴代でも有数の「Show HN」投稿の一つになりました。


Hacker NewsとredditでのTinyPilotへの反響
最初の急増の後は売上が落ち着きましたが、その後もTinyPilotは着実に成長を続けています。物理的な製品を販売するのは初めての経験だったので、在庫管理や受注・発送の仕組み化、基板や3Dプリントケースの製造をベンダーと連携して進める方法を、急いで学びました。
TinyPilotは年末までに約5万4千ドルの収益を上げました。純利益はまだ赤字ですが、これはコストが先行しているためです。2020年のTinyPilotの経費には、2021年2月まで持つ分の在庫が含まれています。
| 収入/支出 | 2020年 |
|---|---|
| 売上 | $53,362 |
| 寄付 | $380 |
| 材料費 | -$46,143 |
| 電気回路設計コンサルティング | -$7,130 |
| 受注処理・発送 | -$2,570 |
| ソフトウェア開発* | -$1,321 |
| オープンソースへの貢献 | -$1,270 |
| 広告費 | -$675 |
| グラフィックデザイン | -$250 |
| ホスティング/ドメイン | -$64 |
| 純利益 | -$5,681 |
* コードの大部分は自分で書いていますが、販売ページについては開発者を雇って手伝ってもらいました。
Hit the Front Page of Hacker News

Hit the Front Page of Hacker Newsは、私のブログ運営についてまとめたコースです。
5月に、仲間内のメンタリンググループで「そこそこ成功するソフトウェア・ブロガーになる方法」という非公式なプレゼンをしました。Hacker Newsやredditで私の記事が読まれる理由を、手法として分解してみようとしたのです。自分のプロセスを共有するのは楽しかったのですが、その素材をどう活かせばいいのかは分からずにいました。
その後1年かけて、開発者が自分の知っていることを有料コースとして教えている姿を目にする機会が増えました。TinyPilotを通じて、ブログとビジネスを結びつけることの強力さも実感していました。もし私のブログを気に入ってくれているなら、文章術についてのコースにも興味を持ってもらえるかもしれないと考えたのです。
コースの収録は想像以上に大変でした。30〜40時間で終わると見込んでいましたが、実際には200時間近くかかりました。
コースは2021年1月に公開されたため、下記の数字には公開後の注文は含まれていません。今のところ売上は控えめですが、長期的な収益を判断するにはまだ早すぎます。いずれにせよ、内容には誇りを持っていますし、受講生の何人かからは、レッスンが文章に大きな影響を与えたという声をもらっています。
| 指標 | 2020年 |
|---|---|
| 予約注文数 | 29 |
| 予約注文による収益 | $1,431 |
| カバーデザイン | -$293 |
| 収録機材 | -$584 |
| 純利益 | $554 |
mtlynch.io(このブログ)
今年のブログで大きく変えたのは、記事のテーマをより戦略的に考えるようになったことです。2020年以前は、「今頭の中にあるこのテーマについて書いて、どうなるか見てみよう」という姿勢で書いていました。時には読者が見つかることもありましたが、多くの場合はそうなりませんでした。
今年は、新しい記事を書き始める前に、必ず2つのことを自問するようにしました。
- このテーマに興味を持つ読者はどれくらいいるか?
- その読者に届ける手段はあるか?
この小さな計画が、読者数に大きな違いを生みました。2019年には、投稿後1週間の平均読者数は5,000人でしたが、2020年には2万5,000人に跳ね上がりました。新しく公開した9本の記事のうち、1本を除くすべてがHacker Newsのトップページに掲載され、そのうち4本は1位を獲得しました。
| 指標 | 2019年 | 2020年 | 増減 |
|---|---|---|---|
| ページビュー | 273,817 | 719,899 | +446,082 (+163%) |
| アフィリエイト収益* | $374 | $1,599 | +$1,225 (+328%) |
| 開発費 | -$460 | $0 | -$460 (-100%) |
| イラスト | -$769 | -$964 | +$195 (+25%) |
| ホスティング/ドメイン | -$150 | -$534 | +$384 (+256%) |
| 編集 + Grammarly | -$200 | -$222 | +$22 (+11%) |
| 純利益 | -$3,835 | -$121 | +$3,714 |
* このブログのアフィリエイト提携はすべて2020年末で終了しました。
うまくいかなかったプロジェクト
昨年学んだ最も重要なことの一つは、正しいアイデアを追うということは間違ったアイデアを切り捨てることだということです。6〜8週間経っても意味のある収益が生まれないビジネスは、別の顧客層にピボットするか、まったく新しいプロジェクトに移ることにしています。
Is It Keto

Is It Ketoは、食品がケトジェニック・ダイエットに適しているかを教えるサイトです。
Is It Ketoは2018年に始めました。特定の食品がケトジェニック・ダイエットに合うかどうかを教えるシンプルなサイトです。
2019年に一度は諦めたのですが、新しいビジネスアイデアがいくつも失敗した後の2020年4月に再び取り組み始めました。Is It Ketoは利益は出ていましたが、わずかなものでした。訪問者1人あたりの収益が0.01ドルにも満たなかったため、訪問者数か収益のどちらかを劇的に増やす必要がありました。
成長を拡大するために、記事作成の自動化を試みました。Is It Ketoではこれまで、すべての記事を私自身か雇ったライターが100%オリジナルで書いてきました。既存のコンテンツを見直すと、テンプレートに抽象化できる一貫したパターンがあることに気づきました。適切な食品名、写真、栄養情報を当てはめれば、新しいページを素早く量産できるはずでした。

テンプレートからプログラムでIs It Ketoの記事を生成する様子
当初は、テンプレート化によって毎週何百本もの記事を追加できると思われましたが、品質を落とさずにそのペースで拡大するのは困難でした。2ヶ月で追加できたのは118本だけでした。テンプレートを増やせば増やすほどスピードは上がりましたが、追加したコンテンツが呼び込んだユーザーは、見合うほど多くはありませんでした。
もう一つのアイデアは、友人のJustin Vincentからもらったものです。月に7万〜10万ページビューもあるサイトの収益があれほど少ないと聞いて、彼は驚いていました。彼は、有料の姉妹プロダクトを作り、Is It Ketoで見込みの高い見込み顧客を集めることを勧めてくれました。
ケトジェニック向けのコミュニティやアプリのランディングページをいくつか試しましたが、より詳しい情報を求めて登録した訪問者はわずか0.1%でした。ちょうどその頃、TinyPilotが伸び始めたので、Is It Ketoは一旦後回しにしました。
| 指標 | 2019年 | 2020年 | 増減 |
|---|---|---|---|
| ページビュー | 521,913 | 1,314,583 | +792,670 (+152%) |
| 広告収益 | $940 | $2,934 | +$1,994 (+212%) |
| アフィリエイト収益 | $1,315 | $2,147 | +$832 (+63%) |
| 食事プラン販売* | $24 | $18 | -$6 (-25%) |
| フリーランスのデザイナーおよびライター | -$4,322 | -$105 | -$4,217 (-98%) |
| ホスティング/ドメイン | -$115 | -$241 | +$126 (+110%) |
| 純利益 | -$2,158 | $4,753 | +$6,911 |
* 食事プランは2020年1月に諦めました
WanderJest

WanderJestは、コメディファンが近くのライブコメディショーを見つけるのを手伝うサービスです。
WanderJestは2020年初めに始めた短命のプロジェクトでした。「コメディ版Bandsintown」と説明していました。
私はコメディが大好きなのですが、近くでコメディアンが公演しているのに見逃すことが何度もありました。適切なメーリングリストに登録していなかったり、フォローすべきSNSアカウントをフォローしていなかったり、Ticketmasterをチェックするタイミングが悪かったりしたせいです。WanderJestは、できるだけ多くのソースから公演情報を集約することで、その問題を解決するはずでした。
劇場とのアフィリエイト契約で収益化する計画でしたが、割引コードを使う人は一人もいませんでした。新型コロナウイルスの感染が広がると、サイトを閉鎖しました。
Portfolio Rebalancer

Portfolio Rebalancerは、パッシブ投資家の資産管理を支援するツールです。
私の投資ポートフォリオは、カテゴリーの異なる株式と債券の組み合わせで、それぞれに目標とする割合を決めています。価格が変動すると投資バランスが崩れるため、目標の比率に戻すためにお金を動かす必要があります。年に数回、スプレッドシートに数字を地道に入力して、すべてが適切になるまで調整するという面倒な作業をしています。
これをウェブアプリで自動化できないかと考えました。すぐにプロトタイプを作り、redditや自分のブログ、Google広告で共有しました。最初の1ヶ月で1,000人の訪問者を集めました。しかし、無料トライアルに登録したのはたった1人で、その人も有料プランに移行することはありませんでした。もともとこのアイデアには確信が持てなかったので、1ヶ月で次へ進むことにしました。
学んだこと
プロダクトマーケットフィットは魔法だ
「プロダクトマーケットフィット」を達成するとは、ビジネスを成り立たせるのに十分な顧客とプロダクトを結びつけることを意味します。起業家がプロダクトマーケットフィットについて語るとき、真実の愛を見つけたかのような熱を込めて語ります。今ならその理由が分かります。
独立してからの最初の2年半、私は何百時間もかけてアイデアを実行しても、収益はわずか数ドルしか増えませんでした。TinyPilotは、一目でプロダクトマーケットフィットだと分かる存在でした。ブログ記事を公開した瞬間に分かったのです。
TinyPilotでは、プロダクトがビジネスを牽引し、私はただその流れに乗っているような感覚があります。ビジネス運営で致命的なミスを犯した月が何度かありましたが、それでも成長は続きました。
プロダクトを改善すれば、結果はすぐにはっきりと現れます。11月には、TinyPilotのハイエンドモデルをリリースしました。最初の1ヶ月で55台が売れ、1万4千ドルの追加収益を生みました。Is It KetoやPortfolio Rebalancerでの0.1%という登録率とは比べものにならない手応えでした。
24時間365日対応でなくても、成功するビジネスは作れる
2017年後半にUCBコメディシアターで観たショーのことは今でも鮮明に覚えていますが、演目のジョークは一つも思い出せません。ポケットの中のポケベルがいつ鳴り出すかと、ずっと心配していたことしか覚えていないのです。鳴ったらすぐに家に駆け戻らなければなりませんでした。
Googleのチームには「オンコール当番」があり、2ヶ月に一度、2週間はポケベルをどこへ行くにも持ち歩かなければなりませんでした。ポケベルが鳴ったら、30分以内に「キーボードの前に座る」ことが求められました。
Googleを辞めるとき、今後の計画は未定でしたが、一つだけ確かなことがありました。二度とポケベルは持たないということです。そして実際に持っていません。障害が「一大事」になるようなビジネスアイデアは、あえて避けてきました。
独立して2年が経つ頃、「それが自分の足かせになっているのではないか」という考えが頭をよぎるようになりました。他の起業家たちは常時稼働を約束するサービスを作っているのに、自分はそれ以下のことで成功できるのだろうかと。
幸い、ブートストラップ起業家の第一人者であるJason Cohenが、今のままでいいと教えてくれました。厳密には私個人に言ったわけではありませんが、まるで自分に向けて語られているように感じました。「理想のブートストラップビジネスの設計」という素晴らしい講演の32分のあたりで、Cohenは起業家に対して「リアルタイム」なビジネスを作るべきではないとはっきりと説いています。自己資金でやっている小さなビジネスでは、真夜中に顧客に起こされるような働き方は割に合わないというのです。
不安に負けずにこの方針を貫いて本当に良かったと思っています。TinyPilotは「リアルタイム」とは最も遠い存在です。ソフトウェアは顧客自身のハードウェア上で動くため、たとえ私がすべてのサーバーやコードリポジトリを shut down しても、誰の作業も中断されることはありません。
成功は失敗よりもストレスが大きい
TinyPilotは常時対応を求められるわけではないのに、私の脳はしばしばそのことを忘れてしまいます。
大きくローンチした後、2日間眠れませんでした。9つのキットをすべて顧客に発送し、その後どうなるのかと悩み続けたのです。もし届いたデバイスが一つも動かなかったらどうしよう。もし顧客がTinyPilotにまったく違う機能を期待していたらどうしよう。もし誰のサーバーも破壊してしまうようなひどいバグがあったらどうしよう。

梱包した最初の9件のTinyPilotの注文
幸い、初期の顧客はTinyPilotを気に入ってくれたので、ようやく胸をなでおろしました。しかし、それからも数週間ごとに何か新しい心配事が現れて、何日も悩まされました。重要部品の輸送を郵便局が紛失したこともありました。好意的なレビューで注文が急増し、在庫が枯渇したこともありました。税関の書類を間違えて、輸出違反で収監されるのではないかと覚悟したこともありました。
現実的に考えれば、私が感じているプレッシャーはすべて自分で作り出したものです。数日間在庫切れになったところで、誰が気にするでしょうか。自分の計画の甘さで発送が遅れると顧客をがっかりさせるのではないかと不安になりますが、実際に不満を言われたことは一度もありません。むしろ、発送が遅れる旨を謝罪すると、わざわざ知らせてくれたことに感心したという返事しか返ってきません。
自分へのプレッシャーを和らげ、仕事と私生活を切り離すことは少しずつ上手になってきましたが、まだ道半ばです。
昨年の目標の採点
昨年の初めに、3つの大きな目標を立てました。
事業全体で収益2万ドルを稼ぐ
- 結果: 収益6万3千ドルを達成
- 評価: A+
当初は絶望的に見えましたが、目標を大きく上回ることができました。2019年の収益がわずか7,200ドルだったことを考えると、約9倍の伸びは大きな成果だと感じています。
ブログ記事を10本公開する
- 結果: 9本のブログ記事を公開
- 評価: A-
10本のペースで順調に進んでいましたが、文章術のコースを作るために1本を犠牲にしました。それでも、今年のブログの成果には満足しています。自分が誇りに思える記事を何本か書くことができ、共感してくれる読者にも届けることができました。
新しい技術を一つ学ぶ
- 結果: JavaScriptをより深く学んだ
- 評価: B-
Rustを学ぶきっかけが見つかればと思っていましたが、ちょうど良い機会が見つかりませんでした。
代わりに、JavaScriptの幅と深さを広げました。以前からVueは知っていましたが、今年はVueベースの静的サイトジェネレーターであるGridsomeを学びました。TinyPilotの販売サイトやIs It Ketoの作り直しに使いました。
プレーンなJavaScriptをより効果的に使う方法も学びました。TinyPilotのウェブアプリは純粋なJavaScriptで書かれており、ビルドやコンパイルの工程がありません。モダンなJavaScriptフレームワークを使わないことで、どれだけ複雑さを削れるかに驚かされました。
4年目の目標
TinyPilotを年間収益60万ドルに成長させる
年間2万ドルの目標からいきなり年間60万ドルというのは、無謀に聞こえるかもしれませんが、達成可能だと思っています。
TinyPilotは2021年1月に4万3千ドルを売り上げたので、月平均3%成長すれば、年間で60万ドルに到達できます。
ブログ記事を6本と本を1冊出版する
独立してからずっと、いつか本を自費出版することをぼんやりと夢見てきました。今年、ついに実現させます。
本のテーマは、ソフトウェアエンジニアが文章力を実践的に高める方法についてです。仮タイトルはRefactoring English: Effective Writing for Software Developersです。
TinyPilotの運営を自動化する
現在、TinyPilotではパートナーがパートタイムで在庫管理や注文の梱包を手伝ってくれています。一緒に働くのは楽しいのですが、この体制は脆く、スケールしにくいのが難点です。どちらかが数日不在になるだけで、あっという間に膨大なバックログが溜まってしまいます。
私たちが2週間の休暇を取っても業務が止まらないよう、プロセスを体系化し、外部に委託できる部分を増やしていきたいと思っています。
おわりに
会社を辞める前は、スタートアップに関する本を読んだりポッドキャストを聴いたりするのが常でした。中でも心惹かれたのは、可能性が無限に広がっているという点でした。
自分のビジネスを持てば、何だってできるのです。1ヶ月の時間と1万ドルの資金があれば、ビジネスを成長させる方法は何百万通りもあります。新しい機能を追加してもいいし、新しいマーケティング戦略を試してもいいし、新しい営業担当を雇ってもいい。業界の誰も見たことがないような、まったく新しい手法を自分で編み出してもいいのです。
会社員時代は、常に決められたキャリアラダーの上にいました。昇進するためには、日々の仕事とはほとんど関係のないような恣意的な基準を満たしたことを証明しなければなりませんでした。上司に新機能を追加するよう言われたとき、「いや、もっと良いマーケティング戦略が必要だと思うので、そちらをやります」と言うことはできませんでした。でも自分のビジネスなら、そういうことをいつも言っています。もっとも、今は上司も部下もどちらも自分なのですが。
ようやく一つのビジネスで経済的な成功が見えてきたことで、収益が増え、可能性もさらに広がりました。想像していた通り、楽しい日々です。ストレスはありますが、楽しいのです。
改めて、自分で働けていることをとても幸運に思いますし、この働き方をずっと続けていければと願っています。
記事をランダムに読む