思いついたら、さっさと作れ!

思いついたら、さっさと作れ!

思いついたら、さっさと作れ!

個人開発にニーズ調査はいらない。「準備」と称して企画に延々と時間をかけるのは無駄

本記事は “Why Needs Assessment is Not Necessary For Your Niche Product” の日本語訳です。

こんにちは、TAKUYAです。InkdropというMarkdownノートアプリを一人で開発しています。このアプリは一人で企画から運用までやって、先月の売上は40万円を超えました。以前、ローンチさせて最初の売上を得るまでの話を書きましたが、その中で個人開発としてどんなアプリを作るとよいのかという話をしました。毎日感じるちょっとした問題を見つける、というものです。本稿ではこの話についてもう少し掘り下げて書きたいと思います。

沢山のユーザに使ってもらえるサービスを考えるのは簡単ではありません。それを事前に知るのはほぼ不可能です。でも僕は多くの人が「これ、欲しいと思う?」と聞いて回るのを見ました。彼らは失敗を恐れているように見えます。自分の時間と努力を無駄にしたくないようです。もし解決したい問題を見つけたなら、それに今すぐ取り組むべきです。周りがそれをどう思うかなんて気にする必要はありません。その理由について説明します。

Inkdrop — Jot down your daily hacking endeavors.

周りの意見は信じなくていいです。

僕はInkdropを作っている時に、友人にその話をしました。でも彼らの答えは「別にいらない」でした。しかも僕が抱えている問題を理解すらしてもらえませんでした。僕は間違っていたのでしょうか?そんなことはありません。Markdownエディタやノートアプリはすでに巷にあふれていましたが、僕はそれに満足していませんでした。UIデザインやシームレスなデータ同期、シンプルさ、パフォーマンスなど、そのこだわりを理解してもらうのが難しかったのです。自分と同じ問題を抱えていない限り、簡単には深く理解してもらえません。

僕のアイデアを理解してもらえないというのは寧ろ良い事です。もし理解できたなら、僕の問題を解決してくれるアプリはすでに存在していたでしょう。僕は数年間探し続けましたが、見つけられませんでした。それは別に、僕と同じような人が一人もいないという意味ではありません。だって自分は特別でもなんでもなく、普通の人間だからです。ただ単に、他の人達がその問題に気付いていないか、気付いているけど技術的なハードルが高いのです。

If you’re having this problem, it’s likely hundreds of thousands of others are in the same boat. — DHH訳: もしあなたが何か問題を抱えているなら、そこには何百何千もの人が同じように悩んでいる可能性が高い

まだ存在しないサービスを想像するのは難しいです。あなたが誰かに自分のアイデアを話すと、だいたい「え、本気で言ってる?」というような反応を示すでしょう。なぜならそのアイデアは洗濯機や冷蔵庫みたいな製品とは違うからです。ニッチ製品はほとんどの人にとって奇妙に聞こえるものです。現にInkdropをリリースしたら、「これが正に自分の求めていたものだ!」と何人かに言われました。彼らはやっと僕の問題を理解したのです。

もしそれがあなたの問題を解決するのなら、人が言ってることなんか無視して作業を続けて下さい。もちろん、彼らの言う通り沢山の人には使われないかもしれません。でも同様に使われる可能性だってあるのです。それはリリースするまで誰にも分かりません。

ブログはその事が知れる良い例です。ブログは記事を公開するまでバズるかどうか分かりません。どれだけ入念に徹底してライティングの成功法則に倣って書いたとしても、バズるかどうかは依然として分かりません。先日、自分の書いた記事がHacker Newsで話題1位になりましたが、それは全くの予想外の出来事でした。

ブログの記事は贈り物です。記事がいつも誰かにとって有益で、シェアしてもらえるとは限りませんし、期待もできません。それは全て読者次第です。ただやれる事は、記事を書き続けることです。MVPを素早く作ってとにかくリリースして何が起こるか見ろ、と成功者が口を揃えて言っているのは、まさにそれが理由です。

Start by making something clean and simple that you would want to use yourself. Get a version 1.0 out fast, then continue to improve the software, listening closely to users as you do.— Paul Graham, from “Hackers & Painters: Big Ideas from the Computer Age”訳: 簡潔で簡単で、自分が使いたいモノをまずは作れ。バージョン1.0をさっさと出して、それを改善し続けて、ユーザの声を親身に聞け。 — ポール・グレアム

繰り返しますが、同じ問題を抱えた人は一定数います。そこを心配する必要はありません。ただ、ニッチ製品は人々に見つかるまでに時間がかかります。Inkdropは最初の正式リリースから成長し始めるまでに一年かかりました。以下のStripeの売上レポートでその様子を見ることが出来ます:

月間売上レポート

製品をリリースしてすぐに何も起こらなくても、気にしなくていいです。誰も気付いていないだけだからです。すぐに見切りを付けるのはやめましょう。製品が知られ始めるまでにやれることは、以下に示す3つがあります。

自分が欲しいから作っている。だとすれば、その製品が目指すイメージはあなたの頭の中にあるはずです。それに近づけましょう。開発していると、自分が何を解決したいのかがより具体的になります。そして自分自身がヘビーユーザになりましょう。毎日使うのです。もしそんな気分にならないのなら、問題が実際に解決できていないか、もしくはそれほど大きな問題ではなかった可能性が高いです。

ユーザはあなたと同じ問題を抱えた仲間です。彼らは他にも似た人を知っている可能性が高いです。そんな彼らに口コミで広げてもらえるように、ファンになってもらうのです。以前書いた通り、それは大企業が出来ないようなユーザサポートをすることで可能です:

Inkdropのユーザ流入のほとんどは僕自身のブログからです。あなたは自分の製品に関連する話題について沢山ネタを持っているはずです。僕がなぜInkdropを作ったかと言うと、自分の生産性やクリエイティビティへの意識が高かったからです。だからそういった話題についてなら書けることが沢山ありました。そうして書いた記事が、アプリを知ってもらえるきっかけを作るわけです。もちろん昨今ではブログだけでなくYouTubeやポッドキャストなどいろいろ情報発信手段は揃っているので、好きなものを使うと良いでしょう。

もし失敗が怖くてしょうがない場合は、次に挙げるような問題を抱えている可能性があります。

もしモノを作る理由が人気者になりたいという事なら、それが恐怖の原因です。なぜなら、もし失敗すればあなたは人気者になるほどの価値がないという証明になってしまうからです。つまり自分自身が怖いのです。他人に自分の幸せを委ねています。そしてその内面は製品に表れてユーザに伝わります。「私はすごい!私を褒めて!」というように。もし心当たりがあるなら、自分のモチベーションについて見つめ直したほうが良いです。

もし好きな事なら、他人がどう思うかなんて気にならないはずです。なぜなら、それをやってる時点であなたはすでに楽しくて幸せだからです。もちろん良い製品を作るのは大変です。でも、興味のない領域で良い製品を作るのはもっと大変です。これはサイドハッスルです。もっと楽しみましょう。

失敗は沢山の学びをくれます。失敗から学ぼうという姿勢があれば、それは無駄ではありません。次はもっと上手くやれます。トライしてトライしまくるのです。そしたら成功率は徐々に上がります。賢い人は過去に沢山の失敗を積み重ねているから賢いのです。

あなたはすでに幸せです。だってやりたい事があるんですから。それを「準備」と称して無駄にしないで下さい。今やりましょう。

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