個人開発アプリで既存ユーザを喜ばせる事に3.5年集中した

個人開発アプリで既存ユーザを喜ばせる事に3.5年集中した

個人開発アプリで既存ユーザを喜ばせる事に3.5年集中した

長期ユーザが増えてすごい安定して成長している

English version is available here.

こんにちは、TAKUYAです。みなさんが家で安全であることを祈ります。

以前ブログで書いたとおり、僕はよりプロジェクトを継続していくために数字を気にすることをやめました。なのでInkdropの収益をここでご報告するのは久しぶりですが、幸運なことにその成長は今も健全でした。収益の公開はおそらく今回が最後になると思います。大きな理由が無い限りもうする必要がないと思っています。InkdropはクロスプラットフォームなMarkdownのノートアプリで、60日間の無料トライアルがあり、$4.99/月または$49.9/年という毎月コーヒー一杯分の料金で利用できるサービスです。

長期利用ユーザ数が順調に増えている

以下のグラフを御覧ください。先月のMRRが過去最高をマークしました:

806.4k JPY ≒ 7,296 USD

注目すべきはライフタイムバリュー(LTV)が増えていることです:

3,048 JPY ≒ 28 USD

これはつまり長期利用ユーザが増えているという事です。登録者は、平均して7.6ヶ月間 (28 / 5 = 5.6, 60日トライアルを加算)アプリを利用していると見られます。年間プラン(17%オフ)や学割プラグイン開発者ライセンスがあるので完全に正確ではありませんが、いい感じと言えます。中には2016年6月に初めてベータ版をリリースした当初から今もアクティブに使い続けて下さっている方がいることです(ほぼ4年!)。この方たちはこれまでに沢山のフィードバックをくれたので、もちろん一人ひとりの名前も覚えています。本当にありがとうございます🙏✨

なので、本ブログでも繰り返し書いてきましたが、新規ユーザや退会ユーザを追いかけるよりも既存ユーザを大事にするという戦略は正しいと言えます。ご覧の通り成長はとてもゆるやかです。VCに投資を受けたスタートアップのような爆発的成長など一切ありません。しかしこれこそが僕の求めた結果 — — すなわち安定です。InkdropのSubscriber Churn Rate(退会率)は当初60〜90%にも上り酷いものでしたが、それも徐々に減少して今では16%前後に落ち着きました:

一般的にこのチャーンレートはB2Bのサブスクモデルにおいて5%前後と言われています。上図を見て、ベースの退会レートがとても高い事に気づいたかもしれません。なぜならこれはトライアルユーザのキャンセルも含んでいるからです。では、Trial Conversion Rate(トライアルから課金ユーザへの転換率)を見てみましょう。アプリが成熟するとともに、そのレートは徐々に向上しています:

2017年1月が最も悪くて1.75%でしたが、先月は14.29%にまで改善しました。これらの結果とアカウント削除ログの観測から、現在の実際の退会率はだいたい2〜5%程度と見られます。これはInkdrop v4のリリース以降で劇的に改善しました。なので、僕はみなさんがアプリの改善に満足して下さっていると確信しています :)

ところで、今回のように詳しくグラフを眺めたのは実は初めてです。なぜなら興味がないからです。というのも、頻繁に数字をチェックすると不安になって集中できなくなり、短期的戦術に逃げて、上辺だけの不安定な数値改善を求めるからです。誰が喜ぶんでしょうか。僕はそれよりも既存ユーザのために、長期的戦略の実行にこれからも集中したいと思います。なので数字は気にせず、全力で開発を楽しみます。プロダクトを「より大きく」ではなく、「より良く」していく。それが活動の基本方針です。

今回のパンデミックを生き残るためにはどうすればいいか

顧客のロイヤルティを育む

先日、沖縄でデジタルノマドしてきたのですが、多くのお店ががら空きなのを目にしました。恩納村で出会ったダイビングインストラクターの方は、300件ものキャンセルがあったと言います。キツい。一方で、満員の飲食店も見かけました。例えば:

At a Sushi restaurant (so-called “Izakaya”)

お客さんたちは常連で、同じ地域に住んでいると見られます。たまたま居合わせた二人のおっちゃんと仲良くなりました:

ガラ空きだったお店は主に一度しか訪れない旅行客をターゲットにしているようでした。それを見て僕は、一見さんをより多く集めることよりもロイヤルな顧客を持つことが粘り強く生き残るために重要なのだと学びました。

例えば、僕は当初から常に素早くフレンドリーなユーザサポートを提供するよう心がけてきました。ユーザフォーラムで最もアクティブなユーザの活動統計を見てみると次のように驚くものでした:

45件のトピック作成、128件のコメント投稿、合計24時間のサイト滞在

僕は彼の投稿全てに返信しました。彼のバグ報告はとても役に立つものでした。時には提案を断りましたが、その際には出来る限り理由を説明しました。彼の貢献には非常に感謝しています。

イギリスのユーザさんから「ステッカー届いたよ」との知らせで送られてきた写真

そして一部のユーザにはステッカーを贈呈したりもしました。一つ一つ、ものすごく手間のかかる作業でしたが、みなさん喜んでくれました。

自分らしく。自分の個性を製品の背後に隠さない

僕は今回のコロナショックの影響を受けずに済んで非常にラッキーです。でもテック業界の変化はすごく速いです。明日は我が身です。EUのGDPRやAppleのレビューガイドラインの変更など、様々な事が起こりえます。ファンを集めることは個人開発者がこのような環境の変化を生き抜くために有効な手段の一つでしょう。なぜなら、人々があなたを好きな理由は、あなたのアプリそのものと「ゆるく」繋がっているからです。つまり、彼らは「あなた」が作るモノが好きなのです。あなたが次に作るモノも応援してくれる可能性が高いでしょう。

そのためには自分の個性を製品の背後に隠すのではなく、自分らしくあり続ける事が重要です。例えば、ある女性ユーザがなぜプログラマーでもないのにInkdropを使っているのか理由をツイートしていました:

これは象徴的な出来事です。もし僕が自分のアプリづくりの道程をブログに書いていなければ、彼女は間違いなく僕のアプリを使っていなかったでしょう。同様に、同じ理由で僕のアプリを使い続けてくださっている人は沢山いるはずです。彼ら/彼女らを大事にして今後も活動していきたい。

Read more

Claude Codeをtmuxのポップアップウィンドウで継続的に走らせる方法

Claude Codeをtmuxのポップアップウィンドウで継続的に走らせる方法

💡本記事は英語ブログの日本語訳です。 どうも、TAKUYAです。 AIコーディングでは専らClaude Codeを使っています。最初はtmuxでターミナルの右側にペインを分割して使っていたのですが、幅が狭すぎてメッセージやdiffがまともに表示できず、使いづらかったです。 <Prefix>+zでペインを最大化すればいいのですが、毎回やるのは面倒でした。 そこで、ポップアップウィンドウでClaude Codeを起動するようにしました。キーバインドを押せばセッションが開き、閉じてもバックグラウンドで動き続けるので、すぐに再開できます。 この記事では、それを実現するためのtmuxの設定方法を紹介します。 動画で見る(英語): ポップアップウィンドウはサブプロセスを維持できない tmuxのdisplay-popupコマンドを使うとポップアップウィンドウを表示でき、ちょっとしたツールにすぐアクセスするのに便利です。 僕はlazygitでgitの状態をサッと確認するのに使っています: bind -r g display-popup -d '#{pane_current_path}'

By Takuya Matsuyama
Keychron K2 HEを無刻印化する手順

Keychron K2 HEを無刻印化する手順

どうもTAKUYAです。KeychronさんにK2 HEをお願いしたら音速で送ってくれたので、無刻印化してみました。どうやったのか過程をシェアします。 Unboxing 上はKeychron Q1です。これは3年間ぐらい使ってきました。キーキャップが若干くたびれていますね。でも問題なく今まで使えていました。そろそろ飽きてきたので新しいキーボードを試したいと思い、前から気になっていたK2 HEを試すことにしました(写真下)。 Amazon | 【国内正規品】Keychron K2 HE ラピッドトリガー ワイヤレス カスタムキーボード、ホールエフェクトGateronダブルレール・マグネットスイッチ、2.4GHz・Bluetooth無線対応、QMKプログラム可能、アルミ+ウッドフレーム、USレイアウト、RGBライト、Mac Windows Linux対応 (ブラック) | Keychron | パソコン用キーボード 通販【国内正規品】Keychron K2 HE ラピッドトリガー ワイヤレス カスタムキーボード、ホールエフェクトGateronダブルレール・マグネットスイッチ、

By Takuya Matsuyama
ノート駆動AIコーディング術の提案

ノート駆動AIコーディング術の提案

どうもTAKUYAです。みなさんはAIエージェントを普段のコーディングで活用されていますか。ちょっと面白いワークフローを思いついたのでシェアします。それは、ノート駆動のエージェンティック・コーディング・ワークフローです。最近Claude Codeのプランモードを使っていたら、ターミナル内で生成されたプランを読むのが辛かったんです。それで、じゃあMarkdownノートアプリであるInkdropをプランの保存先バックエンドとして使えば解決するんじゃないかと思って、 試してみました。こちらがそのデモです(英語): こちらがClaude Codeの設定ファイル群です: GitHub - inkdropapp/note-driven-agentic-coding-workflow at devas.lifeComplete Claude Code configuration collection - agents, skills, hooks, commands, rules, MCPs. Battle-tested configs from an Anthropic hackathon w

By Takuya Matsuyama
2025年個人開発活動の振り返り

2025年個人開発活動の振り返り

どうもTAKUYAです。もう1月も半ばに差し掛かっているけど、2025年の自分の活動の振り返りをしたい。去年を一言で言うなら、本厄を満喫した年だった。 厄年とは、人生の節目にあたって、体調不良や災難が起こりやすいと経験的に言われる年齢のこと。数え年で42歳、確かにもう若さに任せた事は出来ないなと痛感した年だった。(ところであなたの国ではこのような年はありますか?) 夏に体調を崩して2~3ヶ月動けなくなった 暖かくなり花粉が飛び出した頃に、持病のアトピーが悪化しだして、まともに生活出来なくなってしまった。酷さで言うと、2019年に脱ステした時と同じぐらい。 脱ステに無事成功したから、この地獄は二度と味わうことはないだろうと高を括っていたが、まさか7年後にまた味わうとは思わなかった。当時の独身時代と違い、妻も子供もいる中で、周りに多大な迷惑をかける事となった。夏の子供との思い出が全く無い。悲しい。 現在はQoLもほとんど元の状態まで復活できた。写真を撮って症状の変化を記録したので、機会があればシェアしたい。食事療法など色々試したが、結局歩くのが一番自分に効いた。それ以来、一日一万歩

By Takuya Matsuyama