【ITニュース解説】WorryBox
2025年09月12日に「Dev.to」が公開したITニュース「WorryBox」について初心者にもわかりやすく解説しています。
ITニュース概要
WorryBoxは、AI(LLM)で似た悩みをマッチングし、「一人じゃない」と示すメンタルケアSNSだ。開発者は20年来のアイデアをAIにコード作成させ実現。AIは大部分を担うが、バグ修正やアーキテクチャ選定など、人間のSEの知見が不可欠だった。無料サービスを組み合わせ運用コストを抑え、継続を目指す。
ITニュース解説
WorryBoxというプロジェクトは、開発者の個人的な思いから生まれた、心の問題を抱える人々を支援するプラットフォームだ。開発者は、生まれつき楽観的な性格で不安や落ち込みを感じにくい一方、大切な人が不安やうつ病に苦しむ姿を長年見てきた。彼らが小さなことを大問題と捉えたり、些細な心配事に囚われたり、あるいは単に気分が落ち込む理由を説明できない様子を目の当たりにし、何か助けになりたいという強い気持ちを抱いていた。
しかし、自分自身が同じ経験をしていないため、どうアドバイスすれば良いかわからずにいた。その中で開発者が気づいたのは、悩みを内側に抱え込む傾向だ。心配事が心の中に閉じ込められると、それは増幅し、圧倒的な重荷となってしまう。単に「忘れる」ことや「手放す」ことができないのは、その考えがしつこく頭の中を巡り続けるからだ。
この観察から、悩みを「頭の外の安全な場所」に置くシンプルなアイデアが生まれた。これは悩みを忘れさせるためではなく、心の大部分を占領し続けることから解放し、必要ならいつでも見返せるようにするためだ。このアイデアがWorryBoxの出発点であり、後にこれが「心を整理するための治療法」として確立された手法であると知り、開発者は少し驚いたという。
WorryBoxのアイデア自体は20年間開発者の頭の中にあったが、仕事の多忙さや、このようなプラットフォームではサーバー費用すら賄えないだろうという懸念から、なかなか実現には至らなかった。しかし、このアイデアには、かつては大きな技術的ハードルがあった。開発者がWorryBoxの核となる機能として思い描いたのは、「同じ悩みを抱えている人が他に何人いるか」を示すシンプルなカウンターだった。これは「あなたは一人ではない」という力強い連帯のメッセージを伝えることを目的としていた。
20年前の技術では、異なる表現で書かれた悩みを互いにマッチングさせることは非常に困難だった。当時は、ぎこちないキーワードマッチングや、時間を要するトークン化(文章を単語や記号に分解する処理)に頼るしかなかった。しかし、現代では、大規模言語モデル(LLM)を基盤とする新しい世代のAIモデルが登場し、このような意味に基づいたマッチングが非常に簡単になった。これがWorryBox実現の大きなきっかけとなったのだ。
長年開発者として多くのプログラミング言語や技術に触れ、シンプルなユーティリティからゲーム開発、さらにはドローンの改造まで手がけてきた。そのため、通常はゼロから自分でコードを書き、細部まで管理することを選んできた。近年AIが開発者の作業を効率化する優れたツールとなってからも、彼がAIを使うのは、質問への回答、新機能のブレインストーミング、複数ログの読み込みといった比較的小さなタスクに限られていた。AIにすべてのコードを書かせるというアイデアは、これまでの経験からすると魅力的なものではなかった。他人が作った大規模なコードベースを引き継ぐ苦労を知っているからだ。AIが完全にコードを生成した場合も、その裏にある思考プロセスが不明瞭で、同様に扱いにくいコードになってしまうと感じていた。
しかし、偶然見つけた「Kode with Kiro」というハッカソンが、非営利のアイデアを実現する良い機会だと感じ、WorryBoxの開発に着手するきっかけとなった。時間があまりない中で、彼は新しいアプローチを試すことにした。ハッカソンはKiroというAIと一緒にコーディングすることを推奨していたが、彼は「プロジェクトマネージャー」の役割を担い、通常なら何日もかかるような複雑なタスクをAIに任せることにした。アイデアや指示(プロンプト)、必要な設定や外部要素は人間が提供し、実際のコードはAIに任せるという方針を最初から決めた。これは自身への抵抗があったものの、自身の仕事などの他の約束を諦めることなくプロジェクトを進めるための方法だった。
WorryBoxは、構造化された投稿、プライバシー管理、そして支援的なコミュニティの交流を通じて、ユーザーが悩みを外部に出すことを助ける共感的なソーシャルプラットフォームだ。ユーザーは悩みを安全な外部の場所に書き出すことができ、同じような悩みを抱える人が何人いるかを知ることができる。これは、コメントをモデレートし、プラットフォームを安全な空間として維持するのにも役立つAI技術によって実現されている。
ユーザー体験をデザインする上で、細部にまで配慮がなされた。ほとんどのソーシャルネットワークでは「いいね」ボタンがあるが、感情的な脆弱性を扱うプラットフォームには不適切だと感じた。「悩み」に「いいね」はできないからだ。そこで、開発者は「Support(サポート)」ボタンに置き換えた。これは小さな変更だが、連帯感や共感の感覚に大きな影響を与える。その隣には、意味論的なAIマッチングによって動作する「Me Too(私も)」ボタンが配置されている。これはユーザーが同じような経験をしていることを示すシンプルだが力強い方法だ。「私だけがこんな風に感じるのだろうか?」という問いへの直接的な答えであり、コミュニティがお互いを支え合う存在であることを明確に示す。これらすべてが、「あなたは一人ではない」という魔法の数字へと繋がるのだ。
KiroというAIアプリは、開発を非常に容易にする。計画から始まる論理的なワークフローが特徴で、Kiroは指示を受け取り、システム全体の計画を立て、必要に応じて変更を加える。ユーザーが計画を承認すると、Kiroはそれを実現するための具体的なステップを計画し始める。この同じワークフローは、新機能を追加する際にも同様に適用される。ここでもユーザーはステップを承認する必要があり、同意すればKiroは最初のステップの作業を開始する。
Kiroの作業ぶりは印象的で、その準備の緻密さには安心感を覚えた。すべてが素早く組み上がっていく様子は、経験豊富な開発者に「コーダー」というより「マネージャー」のような感覚を抱かせるほどだった。しかし、この感覚は長くは続かなかった。Kiroは大部分の作業をこなす優れたツールであることが判明したが、開発の途中で、コードに関する知識と経験がなければ解決できない問題も発生したのだ。
開発者が手を離したアプローチは、もちろん課題なしではなかった。Kiroの成果をテストする中で、彼はすぐにバグを発見した。WorryBoxのKiroによる最初のバージョンはうまく機能したが、計画を進めるにつれて、構文エラーのためにページがエラーになったり、一部のページが存在しなかったり、また初期のデザインと異なる部分があったりした。最後の点については避けられないことだった。Kiroには感情がなく、プロジェクトの目的を真に理解しているわけではないため、正しい結果を得るためには物事を再説明しなければならない時もあったが、これは開発者にとって特に問題ではなかった。
しかし、最大の課題は構文エラーだった。Kiroがループに陥るのは、常に単純なHTMLの構文問題が原因だと彼は気づいた。たとえば、ページエラーの原因を探しているとき、Kiroはタグが不足していると判断し、それを修正するためにタグを追加した。しかし、これが別の問題を引き起こし、Kiroはその原因が余分なタグであると判断して、それを削除してしまう。そして、この行為が元の問題に戻ってしまうという無限ループに陥るのだ。Kiroはコードを編集して実行し、エラーをチェックする能力があるため、このようなループを終わらせるためには開発者の介入が必要になることもあった。このプロジェクトでは一切コードを書かないと決めていたにもかかわらず、プロジェクトを継続させるために少しだけコードを修正しなければならない状況も発生した。これは本当に少しだけだったそうだ。
このようなループが発生した時や、Kiroが問題を解決できない時、開発者は手動で必要な変更を加えることになった。自分のコードベースであればもっと早く解決できたが、Kiroがほとんどの作業を行ったため、問題を見つけるのに時間がかかった。しかし全体として、これは同僚の抱える問題を助けることと何ら変わらなかった。時には最も熟練した開発者でも、非常に単純な間違いを見落とし、別の視点からのチェックが非常に価値のあるものになる。この経験は、プロジェクトで開発チームを率いるのとほぼ同じだったという。
プラットフォーム構築後の次の大きなハードルは、運用資金だった。WorryBoxは趣味のプロジェクトであり、ホスティング、AI利用料、データストレージ費用を賄うための資金援助や資金調達はなかった。しかし、Kiroはこの点でも助けになった。開発者がAIに予算はゼロだと伝え、アイデアのリストを求めたのだ。
Kiroの提案は段階的に提示された。最初のアイデアは古く、Google、Azure、AWSのような主要クラウドプロバイダーのオープンソース資金提供プログラムを指していたが、それらはすでに存在していなかった。二番目のアイデアは、低予算で従量課金制のホスティングを提案したが、これらも無料ではなかったものの、正しい方向への一歩だった。しかし、三番目のアイデアこそが開発者が必要としていたものだった。それは、異なるプロバイダーの寛大な無料ティア(無料枠)を利用して、すべてを完全に無料で稼働させる方法だ。具体的には、フロントエンドにVercel、バックエンドにRender、データベースにAzure SQL、AIにGoogle AI Studio、画像にCloudinaryという構成だ。
この構成では、既存のPostgreSQLシステムをMS SQLに変換する必要があり、いくつかのバグが発生したが、最終的にはうまくいった。しかし、数日間運用したところ、Azure SQLの起動時間が非常に遅く、ユーザーがWorryBoxにログインする前に諦めてしまうことが判明した。この問題をKiroに伝えたところ、KiroはNeonを提案した。これは再びPostgreSQLに戻すことを意味したが、その変更は価値があった。Neonの無料ティアの起動時間は非常に優れていたのだ。
この設定で約10日間は順調に稼働した。しかし、Neonの無料コンピューティング時間が尽きるとWorryBoxは利用できなくなり、Google AI Studioの寛大な月間AI使用制限も同様だった。テストには十分だったが、一般的な使用には向いていなかった。幸いなことに、最近、匿名でデータベース専用の寄付があり、それにNeonからの100ドル分のクレジットが加わったことで、WorryBoxが月の途中で停止することはなくなった。AIは月間AIクレジットが尽きると類似の悩みの数を数えられなくなるが、それはユーザーがプラットフォームとやり取りすることを妨げるものではない。当面の目標はハッカソン期間中稼働し続けることだが、開発者はWorryBoxが可能な限り長く稼働し、人々を助け続けることを理想としている。
このプロジェクトがどのように構築されたかにかかわらず、WorryBoxは精神的健康のための真に役立つツールを作りたいという個人的な願望によって推進されたものだ。「Kode with Kiro」ハッカソンは、コンセプトから創造へと踏み出すために必要な後押しを提供した。しかし、今後はこれを維持し、おそらくコードベースにもっと深く関わっていくことになるだろうと開発者は述べている。このWorryBoxを探索し、フィードバックを共有してほしいと、開発者はユーザーに呼びかけている。