【ITニュース解説】Kindy: A friendly voice companion that helps you find ways to give back
2026年09月07日に「Dev.to」が公開したITニュース「Kindy: A friendly voice companion that helps you find ways to give back」について初心者にもわかりやすく解説しています。
ITニュース概要
Kindyは音声AIアバターで、あなたのスキルや時間を聞き、近所の具体的なボランティア活動を提案する。寄付だけでなく時間やスキルでの貢献を促し、Google AI(Gemini、Maps、Search)とReact、Node.js、WebSocketsなどのWeb技術で構築されている。
ITニュース解説
Kindyは、誰かの役に立ちたいけれど、具体的にどうすればいいか分からない人たちをサポートするために作られた、対話型のアバターアプリケーションである。世の中の多くの慈善活動は寄付を募る形が中心だが、Kindyは、お金がなくても時間やスキル、知識、あるいはただ誰かの話を聞くことなど、様々な形で人助けができるという哲学に基づいている。
Kindyを使う際、ユーザーは複雑なフォームに記入する必要がない。その代わりに、Kindyという2Dアニメーションのアバターと直接音声で会話する。ユーザーは自分の興味や得意なこと、週末に使える時間などをKindyに話す。するとKindyは、ユーザーの言葉に面白く、時に大げさに反応する。例えば、ユーザーが疲れていると言えば泣いたような表情を見せたり、自信をなくしていれば励ましたり、良いアイデアを出せば一緒に喜んでくれたりする。単なるテキストのやり取りではなく、まるで友達と話しているような感覚で利用できるのが特徴だ。そして、Kindyはユーザーの状況や希望に合わせて、実際にできる簡単な方法を6つ提案してくれる。さらに、Googleマップと連携しているため、ユーザーの住む街にある地域センターやフードバンク、ボランティア活動場所といった具体的な施設を調べて教えてくれる。これにより、「ボランティアしよう」という漠然としたアイデアではなく、「この場所でこんな活動ができる」という具体的な行動へとつながりやすくなる。
このKindyというアプリケーションは、様々な最新技術が組み合わさって実現している。まず、ユーザーが直接触れる画面やアバターの部分は「フロントエンド」と呼ばれ、ReactとViteという技術で作られている。アバターの感情豊かな表情は、SVG(スケーラブル・ベクター・グラフィックス)という画像形式とカスタムアニメーションを使ってリアルタイムに変化する。ユーザーが話す声は、Web Audio APIというブラウザの機能と、SpeechRecognitionという音声認識機能を使って、ボタン操作なしに自動的に検出される。これにより、ユーザーは非常に自然な形でKindyに話しかけられるのだ。
ユーザーの声は、WebSocketsというリアルタイムにデータをやり取りするための技術を通じて「バックエンド」、つまりサーバー側に送られる。バックエンドはNode.jsとExpressという技術で構築されており、リアルタイムでユーザーの音声データを受け取って処理する。バックエンドでは、Google GenAI SDKというツールキットを使って、Googleの強力なAIモデルであるGemini 3.8 FlashとGemini 3.1 TTSが利用されている。Gemini 3.8 Flashは、ユーザーの会話の内容を深く理解し、適切な応答を考えたり、アバターの感情表現に必要な「感情タグ」を生成したりする。また、ユーザーが住んでいる場所に基づいて具体的なボランティア場所を検索するために、Google検索ツールやGoogleマップツールとも連携している。一方、Gemini 3.1 TTSは、AIが生成したテキストの応答を、まるで人間が話しているかのような、抑揚のある自然な音声に変換する役割を担っている。
これらの技術は密接に連携し、一連の体験を可能にしている。ユーザーが話した内容は音声認識によってテキスト化され、WebSocketsを通じてバックエンドへ送られる。バックエンドのGemini AIは、そのテキストとユーザーの文脈を理解し、適切な返答のテキスト、アバターの感情表現を示すタグ、そしてその返答の音声を生成する。これらの情報が再びWebSocketsを通じてフロントエンドにリアルタイムで戻され、アバターが適切な表情に変化しながら、生成された音声でユーザーに話しかけるという一連の流れが、非常にスムーズに行われるため、ユーザーはほとんどラグを感じることなく会話できる。
KindyはDockerという技術を使って開発されている。Dockerを使うと、Kindyのような複雑なアプリケーションを、必要なプログラムや設定と一緒に一つのパッケージにまとめられる。これにより、開発者が使っているパソコンでも、Google Cloud Runのようなクラウドサービス上でも、簡単にKindyを動かせるようになる。Google Cloud Runは、ウェブアプリケーションをインターネット上に公開するためのサービスで、活動がない時は自動的に規模を縮小し、リクエストがあった時にだけ必要なリソースを割り当てるため、効率的に運用できる特徴がある。そのため、Kindyのウェブページを初めて開く際に少し時間がかかることがあるのは、このCloud Runがアプリケーションを起動しているためである。
このプロジェクトを通じて得られた学びは、誰かの役に立ちたいという気持ちは、たとえ小さな一歩からでも始められるというものだったと開発者は語る。例えば、自分の専門分野でのアドバイスを20分間共有することでも、十分な貢献になる。Kindyは、最新のAI技術やウェブ技術がどのように組み合わされ、人々の生活をより良くするアプリケーションとして形になるのかを示す良い事例と言える。音声認識、AIによる自然言語処理、リアルタイム通信、そしてクラウドでのアプリケーション公開といった要素が一体となり、ユーザーに親しみやすく、かつ実用的な新しい体験を提供している。