MarkdownノートアプリInkdropで家賃の半分が賄えるようになりました

MarkdownノートアプリInkdropで家賃の半分が賄えるようになりました

MarkdownノートアプリInkdropで家賃の半分が賄えるようになりました

4月にInkdropの総売上が10万円を超えた報告をしてから、久々の売上報告です。Inkdropはクローズドソースですが、プロジェクトで得た知見は惜しみなくオープンにしていくつもりです。どんどんやり方パクってください。もし質問などあればコメント欄やTwitterにて受け付けます。

  • 驚きの解約率の低さ
  • 注文の多い少数派を相手にしすぎない
  • ブログを始めたら日本のユーザが増えた
  • 1000人のユーザが1人を食わせるモデルを確立したい

既にInkdropについてご存知の方は読み飛ばして下さい。

Inkdropはマルチプラットフォームで動作するノートアプリです。今のところmacOS、Windows、Ubuntu、iPhone、Androidに対応しています。

日々の作業記録や議事録、コードスニペットからブログの下書きまで、技術的な事柄を構文ハイライト対応のMarkdownで快適に書けるようにデザインされたアプリです。美しいUIテーマ、素早いデータ同期、拡張可能なプラグイン機構を備えています。

作ろうと思った理由は、自分の気に入るアプリが探しても無かったからです。Dropboxによるファイル同期は遅いし重い、Wiki系のウェブサービスはオフラインで使えず大量のタブに埋もれる、マルチプラットフォームに対応していない、デザインがかっこよくない…そういった個人的な不満を解決するために作りました。つまりそれはシンプルで、美しいUIで、Markdownで書ければよくて、すばやく同期されて、オフラインでも使えるものです。

月額 $4.99 または 年額 $49.90で提供中です。60日間のフリートライアルがあります。この価格設定にした理由はこちらに書きました。ぜひお試しを。

※ 現在は英語版のみです。ローカライズ版を出す予定はありません。

少しずつですが順調に契約数が伸びていて、とうとう6月の売上が約4万円になりました。これは今住んでいるマンションの家賃の半分に相当します。家計が助かる!ありがとうございます!

Stripeの売上レポート

今までの売上最高記録は2016年12月でした。この月は公式リリースのちょうど二ヶ月後で、β時期に集めたユーザさんが一度に契約して下さったものです。そこから一旦落ち着いたものの、ついに盛り返しました。

4月時点で30人だった契約者数が45人になりました。1.5倍です。これまでに解約した人はたったの2人です。驚きの継続率。そして年間契約者の割合も大きいです。全体で20人もいます。詳しく見て行きましょう。

一度は課金したのに、その後解約してしまった二人はどういったユーザだったのでしょうか。そこには明確な共通点がありました。それは、すごく熱心にフィードバックをくださっていたという点です。

サービスに対して意見を沢山もっているという事はありがたい一方で、現状に満足していないという点を示唆しています。「もっとここはこうしてくれ」「ここは何でこうなってるの」と色々と思う所があるようです。しかし僕はアプリをシンプルに保ちたいので、ほとんどの意見を保留にしたり断ったりしました。つまり解約された理由は作者との方向性の違いです。

僕は本当に必要だと感じた機能しか付けません。この考えはBasecampのDHH氏がいみじくも明快に述べています:

You should only consider features if they’re willing to stand on the porch for three days waiting to be let in. — David Heinemeier Hansson

「3日間居座って入場待ちするぐらい彼らが望むような機能だけを検討しろ」と。そう思えなければ遠慮無くNoと言うべきです。この考えを理解してくれるユーザさんもいます。とある機能要望を断った時、メールでこのような返事をもらいました:

It makes sense to put your efforts where it will have the most impact on the user, in terms of features. If I’m going to be the only one using the change history feature, then I agree, it’s probably not worth the trouble. :) I do hope that someday this feature would be implemented, but if not it’s totally fine as your app is awesome as it is now! — Inkdrop user

ユーザに迎合せず、自分の信じるアプリ像をあくまで追い求める。そうすれば付いて来てくれる人は必ずいます。

先々月ぐらいから日本語でブログをちょくちょく更新するようにしていました。これは前回の進捗報告で書いたとおり、ユーザ獲得に向けたコンテンツマーケティングです。何かしら役に立ちそうな事を意識して書いたら、意外と反応があって楽しいです。

すると、MAUに分かりやすい変化がありました。

ここ半年のMAU (Mixpanel)

いままでずっとUSがトップの割合を占めていたのが、6月で逆転しました。これはブログ効果で間違いないでしょう。続けるべきですね。英語でも積極的に書いていこうと思います。

以上の考察から、少数のヘビーユーザが支えるサービスという構図は今も変わらないようです。これは僕の目指している「1000人のユーザが一人を食わせる」という方向性と合致しています。

IT業界が多様化して、消費者には沢山の選択肢が与えられています。その結果「Winner Takes All」の法則は必ずしも当てはまらなくなってきました。例えば写真サービスを取ってもFlickr一人勝ちではないでしょう。シマウマが地面の草を食べてキリンが高いところの葉を食べる関係がそこにはあります。

個人としてその中で生き残るには、ニッチの領域で自分の価値観を大事にして、それに共感してくれる人を集めることが一つの方法だと思います。幸いにも継続課金モデルがウェブサービス以外のアプリでも受け入れられつつあります。それは大量のユーザを無理に集めなくてもビジネスが継続して成立する可能性を示しています。ネットによって広告に頼らなくても影響力が得られるようになった今、1000人のファンを集めることは大変ですが不可能ではないでしょう。

この「1000人が一人を食わせるモデル」は、これから増えてロールモデルになると予想しています。Inkdropを実験台にして、アーティストやブロガーだけでなくサービスのクリエイターでもそのモデルが可能だと言うことを示します。応援よろしくお願いします!

Read more

「一汁一菜」にAI時代の生き方が詰まっている

「一汁一菜」にAI時代の生き方が詰まっている

どうも個人アプリ作家のTAKUYAです。 今回は、AI時代を開発者・クリエイター・表現者としてどう健やかに生きるか、について考えていることをシェアしたいと思います。ここでの「健やかに生きる」とは、心身の健康を保ちながら、ものづくりを楽しみ続けるという意味です。 読者の中にも、最近のAIの急速な進化の中でどう生き残り、さらに活躍していくかを悩んでいる方は多いのではないでしょうか。正直、すべてに対する正解はわかりません。未来を正確に予測できる人はいないからです。 でも自分は、ソフトウェア寄りのアーティストとして生きる上で大事なのは、「戦略」や「堀(moat)」を築くことよりも、「生きる方向性」 だと思っています。 人生とは速度ではなく方向である – ゲーテ 自分はどこに行きたいのか?何を見たいのか?それが大事です。戦略は状況に合わせて柔軟に変えればいいからです。 今回は、日本の文化からいくつかの生き方の原則を探ってみたいと思います。 最近、料理研究家の 土井善晴 さんの 「一汁一菜でよいという提案」 を読んで、日々のリズムを健やかに保つためのヒントがたくさん詰まっていると感じまし

By Takuya Matsuyama
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