AI・機械学習
個人のためのソフトウェア
Software for One (ajwaxman.com)
要約
AIの進化により、かつては大規模なユーザーベースを前提としていたソフトウェア開発が、個人のニーズに合わせた「パーソナルソフトウェア」へとシフトしています。著者は、家族のためにカスタムアプリを開発した経験を共有し、AIを活用することで、開発コストが劇的に低下し、想像力が開発の限界となる時代が到来したと論じています。これにより、企業が採算を取れないようなニッチなニーズにも応えられるようになり、将来的にはパーソナライズされた体験が消費者の新たな標準になると予測しています。
全文翻訳
2020年、Robin Sloanは家族のために開発したメッセージングアプリBoopSnoopについて書きました。4人がそれをダウンロードしました。彼はこれを大成功と見なしました。彼の主張はシンプルでした。アプリは家庭料理のようなものであるということです。スケールは必要ありません。ユーザーは必要ありません。愛する人のために料理をするのです。そのアプリの開発には1週間かかり、その半分はコード署名の地獄で失われました。彼はこう書きました。「もっと良い世界なら、私はこれを1日で、iOS用のモダンで柔軟なHyperCardのようなものを使って構築したでしょう。」
時は来た
6年後、そのエッセイはXで再び話題になりました。Thariqが「パーソナルソフトウェアは2020年には少し早すぎましたが、2026年には、家庭料理や手書きの手紙と同じくらいパーソナルになることができます」と書いたのです。Lee Robinsonも同様の変化について書いています。AIは「パーソナルコンピューティング」を真にパーソナルなものにしました。彼と妻は、ユーザープロフィール、バッジ、サブスクリプショントier、その他の追加機能は必要ありませんでした。だからベビーロガーを構築しました。
私のスムージーは私の走行距離を知っている
私は過去6ヶ月間、あまりにも多くのパーソナライズされたソフトウェアを構築してきました。睡眠コンサルタントの計画を実行する睡眠アプリ、その朝のランニングに合わせてスムージーの量を調整するフィットネスアプリ、年齢ではなく私のレースから構築されたマラソン計画、「ジャズ版Duolingo」でピアノレッスンのコードボイシングをテストするアプリ、専門医の診察前にギャップを指摘した医療記録ツール。
私たちの睡眠コンサルタントの計画は、ウェイクウィンドウ、ナップキャップ、ナップが失敗した場合の対処法など、条件付きロジックで満たされたPDFとして届きました。それをアプリにするのに、平日の夜が1週間かかりました。今では、妻、ベビーシッター、そして私が、ナップが短くなったときに再計画される一つのライブスケジュールを共有しています。
睡眠アプリの動作中の様子
私のフィットネスアプリは私の目標を中心に構築されており、単一のアプリでは不可能な方法でデータソースを接続しています。下のマラソンアプリのおかげで、私の週ごとのランニングスケジュールを知っており、その朝のランニングの距離と強度に基づいて毎日のカロリー目標を調整します。長距離ランニングの前後にどれだけ追加の炭水化物とタンパク質を摂取すべきかを教えてくれ、前夜のカーボローディングをリマインドしてくれます。私のスムージーのレシピ、毎朝計量する8つの材料を知っており、その日のトレーニングに合わせて各ポーションの量を調整します。
フィットネスアプリの動作中の様子
私のランニングアプリは、プランテンプレートをスキップし、年齢を含む公式ではなく、私のStravaの履歴とレース結果からすべてを導き出します。これにより、心拍ゾーンが計算されます。
ランニングアプリの動作中の様子
Sloanの主権に関するポイントも有効です。「突然のデザイン変更、広告の洪水、私たちには理解できないユーザーベースを追いかけるためのピボットはありません。」妻が睡眠アプリで最も気に入っている機能は、彼女が望む限りそこにあります。
私のスタック
私は数年間同じスタックを使用しており、それを愛し続けています。これにより、迅速に構築でき、実装の詳細を完全に制御できます。
フレームワーク: Vercel上のNext.js
フロントエンド: Tailwindとshadcn/ui
認証: Better Auth
データベース: Neon上のPostgresとDrizzle ORM
メール: Resend
ジョブ: GitHub Actions
AI: Claude Code, Vercel AI SDK, カスタムスキル
ターミナル: Warp
分析: Umami
これを行うための他の多くの素晴らしい方法があります。Claude Artifacts、Replit、Lovableのような技術的なスキルが少ないツールも含まれており、ターミナルに触れることなく動作するアプリを入手できます。
コスト
すべてで月額約160ドルかかります。Claude Code Maxに100ドル、Anthropic APIの使用に10ドル、Vercelに20ドル、Neonに30ドルです。これは、これらのアプリすべてを合わせたサブスクリプション料金よりもおそらく高いでしょう。しかし、コストの大部分はClaudeのサブスクリプションであり、これはどちらにしても維持するでしょう。NeonとAPIコストの大部分は、私のやや大きなプロジェクトであるnycjazz.guideとClaude Code Dailyから来ており、パーソナルアプリからではありません。Claude ProからMaxにアップグレードする前は、月額100ドル未満でした。これらのサービスのほとんどには寛大な無料ティアがあるため、1つか2つのアプリを実行している場合は、月額20ドルのエージェントコーディングサブスクリプションと、モデルAPI使用料で月額約5〜10ドルに抑えることができるでしょう。
学び
構築コストは劇的に低下しました。睡眠アプリは平日の夜が1週間かかりました。フィットネスアプリは週末で済みました。ジャズクイズは子供たちが寝た後の夕方に1回で済みました。1〜2年前なら、これらのどれも構築しようとは思わなかったでしょう。構築が遅すぎる、維持するのはさらに難しいからです。想像力が今や限界です。
メンテナンスは驚くほど簡単です。少なくとも今のところは。Sloanのエッセイには、年次アップデートに関する実行中のジョークがあります。「母親の要望で、機能が1つ(1)追加されました。」2020年には、各変更がXcodeとの戦いを意味したため、それは理にかなっていました。バグの修正、新機能の追加、依存関係の更新は、これまで以上に簡単であることがわかりました。フィードバックのスクリーンショットをClaudeと共有すると、10回中9回はうまくいきます。
データを集計し、LLMを追加する。
コストの低下は、より多くのアプリを意味するだけでなく、アプリがはるかに個人的になることを意味します。私のほとんどのアプリは同じ形状をたどっています。複数のソースからデータを取得し、1か所に集約し、LLMを使用して全体像から洞察を生成します。私のフィットネスアプリは、4つの別々のアプリに存在する栄養、睡眠、体重、トレーニングデータを組み合わせて、それらのいずれも単独ではできない推奨事項を作成するためにそのコンテキストを使用します。このパターンはプロフェッショナルツールにも広がると思います。
一時的なものでも大丈夫です。
私たちは約4ヶ月間睡眠アプリを使用しました。息子は今夜ぐっすり眠るので、私たちはそれを引退しました。もしアプリの構築に数ヶ月かかっていたら、それは残念だったかもしれません。1週間でできたので、必要だった時に機能してくれて本当に gladです。
AIは大きな市場に洪水をもたらし、小さな市場を解放します。はい、AIは無限の派生アプリを生み出します。しかし、同じツールを使えば、企業が手間をかける価値のない、私の家庭用のアプリを構築することもできます。私の家庭以外にも、ニューヨークのジャズファン向けのnycjazz.guideや、Claude Code開発者向けのclaudecodedaily.comを構築しました。これらはビジネスとしては小さすぎるが、サービスを提供する価値のあるオーディエンスです。
良いAPIはこれまで以上に重要です。
CronometerからFatSecretに切り替えました。なぜならFatSecretの方が良いAPIを持っていたからです。私のフィットネスアプリはStrava、Oura、Withings、FatSecretからデータを取得しており、各統合の品質はAPIの設計の良さに依存します。より多くの人々がパーソナルソフトウェアを構築するにつれて、ユーザーは自分のアプリが接続する価値のあるAPIとMCP(マルチコネクタプラットフォーム)を持つことを期待するようになるでしょう。
構築すること自体が目的であり、結果だけではありません。
これらのアプリは、息子がどれだけよく眠れるか、私の健康、私のランニングなど、私と私の大切な人々のために実際の問題を解決します。その部分はやりがいがあります。しかし、子供たちが寝た後の夜を、Netflixを見たりXをスクロールしたりする代わりに、これらのアプリを構築して過ごしています。それは今や私の好きな娯楽源です。それは単に楽しいだけでなく、中毒性があります。エージェントコーディングにはスロットマシンのような仕組みがあります。次の機能やアンロックは1つのプロンプトの距離にあり、だからあなたは引き続けるのです。皮肉なことに、私の健康を改善するためのアプリを構築して、数晩の睡眠を台無しにしたことは言うまでもありません。
将来を見据えて
私の方法は、ほとんどの人にとって依然として技術的すぎます。ターミナル、データベース、デプロイメントパイプラインに慣れている必要があります。しかし、それは長くは続かないと思います。Sam Altmanは最近、携帯電話からChatGPTに単一のメッセージを送信することについて投稿しました。9人の友人のための旅行を計画し、調整するためのサイトを構築し、招待メールを作成する。それはうまくいきました。プロンプトは1つの段落でした。ツールがその方向に向かっているのであれば、パーソナルソフトウェアの構築は、それほど長く開発者のスタックを必要としないでしょう。
私はこれらのアプリを構築し続けました。なぜなら、App Storeのどのアプリも私のスムージーのレシピ、私のレース履歴、または私の睡眠コンサルタントのルールを知らないからです。このフラストレーションは一般的だと思います。一度障壁が十分に下がれば、多くの人が自分で構築するようになるでしょう。そして、実際にあなたのコンテキストを知っているアプリを使用すると、一般的なバージョンは壊れているように感じられます。真にパーソナライズされたものが新しいベースラインの消費者期待になるとしたら、私は驚かないでしょう。Sloanは「iOS用のモダンで柔軟なHyperCardのようなもの」を望んでいました。彼はもっと奇妙なものを手に入れました。あなたは平易な英語で欲しいものを説明し、エージェントがそれを構築します。彼のより良い世界は到来しました。