【ITニュース解説】Outside: I built a meditation app whose only goal is to make you stop looking at it
2026年10月12日に「Dev.to」が公開したITニュース「Outside: I built a meditation app whose only goal is to make you stop looking at it」について初心者にもわかりやすく解説しています。
ITニュース概要
屋外で目を閉じずに瞑想できるアプリ「Outside」。音声ガイドはAIが利用者の発言を理解し、リアルタイムで内容を調整する。「呼吸をやめて」と言えば記憶し、以降は提案を止める。画面を見ずに集中できるよう設計され、オープンウェイトAIモデルで動作の透明性も確保する。
ITニュース解説
このニュース記事は、「Outside」という瞑想アプリの開発について詳しく解説している。このアプリの核心的な目的は、ユーザーがスマホの画面を見るのをやめることだ。多くの既存の瞑想アプリは「目を閉じてください」という指示から始まるが、屋外での利用には適していなかった。例えば、散歩中に目を閉じれば足元がおぼつかなくなり、交通事故の危険もある。この課題に対し、「Outside」は目を開けたまま屋外で実践できる新しい瞑想体験を提供することを目指した。
「Outside」アプリは、音声ガイドのみで約3分間の瞑想をリードする。ユーザーはガイドに従いつつも、目を閉じずに周囲の景色や状況に意識を向けることができる。このアプリの最大の特徴は、ユーザーとのインタラクティブな対話能力にある。もし瞑想中にユーザーが「めまいがするから、呼吸の練習をスキップしたい」と口に出して言えば、アプリはそれを聞き取り、即座に呼吸法以外のガイド、例えば足元の感覚に意識を向ける練習へと切り替える。この変更は一時的なものではなく、そのセッション中は一度拒否した呼吸法を二度と提案しないという永続性を持つ。これにより、ユーザーは自分の体調や好みに合わせて、柔軟な瞑想体験を得られるのだ。
アプリがユーザーを画面から解放するための工夫は、細部にまで施されている。ガイドは絶対に「目を閉じてください」とは言わない。瞑想を視覚的にサポートする呼吸を示す画面上の円形アニメーションも用意されているが、ユーザーには「数回呼吸をしたら、あとは見ないで自然な呼吸をしていい」と明示的に伝えられる。さらに、携帯電話をポケットに入れても利用できるよう、事前に録音されたトラックを再生するモードも用意されている。このモードでは、JavaScriptのタイマーではなく、FFmpegという動画・音声処理ツールを使って、ナレーションと実際の静寂の時間とを結合した一つの音声ファイルが生成されるため、画面をロックしても途切れることなく瞑想を続けられる。アプリのホーム画面は極めてシンプルで、一つのボタンしかなく、余計なメニューや設定画面は存在しない。
ユーザーのプライバシーとデータ保護への配慮も徹底している。アプリは位置情報へのアクセスを一切要求せず、アカウント作成、連続使用記録、通知、フィードといった、一般的なアプリがユーザーをサービスに引き留めるための機能は意図的に排除されている。瞑想後の感想を記録する画面も用意されているが、入力された内容はどこにも保存・送信されないことが明確に記されている。また、会話履歴や録音されたユーザーの音声データは、セッション終了後すぐにバックエンドから削除される仕組みとなっている。
このアプリの裏側では、複数の技術が連携して動作している。iPhoneアプリは、クロスプラットフォーム開発フレームワークであるExpoとReact Nativeを使って構築されている。ユーザーが話した音声はM4A形式でバックエンドに送信される。バックエンドは、Renderというクラウドサービス上でDockerコンテナとして動作するExpressサーバーが担っている。ここで、ユーザーの音声はElevenLabs Scribeというサービスによってテキストデータに変換される。そのテキストとこれまでの会話の文脈は、GemmaというオープンウェイトのAIモデルに送られ、次にどのようなガイドを提供すべきかが決定される。Gemmaは単にテキストの返答を返すだけでなく、次にアプリが「ユーザーの入力を聞く」「静寂の時間を設ける」「セッションを終了する」といったどのモードに移行し、どれくらいの静寂を挟み、どのような瞑想プラクティス(呼吸、体の感覚、聞く、思考と共に休む)を行うかといった構造化されたデータを出力する。
この構造化されたデータは、Zodというスキーマ定義ライブラリによって厳しく検証される。これにより、AIが不適切な指示を出したり、アプリの意図しない動作を引き起こしたりするのを防ぐ。例えば、AIの返答テキストの長さを制限したり、「目を閉じてください」「あなたは安全です」「治癒します」「診断します」といった、ユーザーの健康や安全に関わる不適切なフレーズが含まれていないかをチェックしたりする。AIが出力した内容はすべて信頼せず、コードレベルで安全性を保証しているのだ。AIからの返答は、ElevenLabs TTS(Text-to-Speech)という技術によって再び自然な音声に変換され、ユーザーに届けられる。
屋外での利用を想定する上で、最も難しかった技術的課題の一つは、ユーザーが話し終えたタイミングを正確に検出することだった。屋外では風の音などが多く、それが人間の声と誤認識される可能性がある。アプリは、リスニング開始直後の600ミリ秒間で周囲のノイズレベル(ノイズフロア)を測定し、そのノイズフロアより十分に大きい音だけを音声として認識する。さらに、最低0.5秒間の発話があり、その後1.6秒間静寂が続いた場合に、ユーザーが話し終えたと判断する。誤って会話を途中で切らないよう、この検出ロジックはあえて保守的に設定されている。
開発者がGemmaのようなオープンウェイトのAIモデルを採用した主な理由は、プライバシーやコスト面だけでなく、「振る舞いの検査可能性」が極めて重要だと考えたからである。このアプリの最大の約束は、「呼吸法が合わないと言えば、それ以降二度と提案しない」というもので、これは単なる機能ではなく、ユーザーの安全に関わる重要な特性だ。もし閉鎖的なAIモデルを使用していた場合、そのモデルの内部的な振る舞いを完全に保証することはできない。しかし、Gemmaのようなオープンウェイトモデルであれば、アプリの指示内容、AIが従うルール、安全チェックのロジック、使用しているモデルそのものまで、すべてが公開され、誰でもその信頼性を検証できるようになる。これにより、ユーザーはアプリの動作原理を自らの目で確認でき、安心感が得られる。また、オープンウェイトモデルを採用したことで、このアプリはインターネットに接続せず、ローカル環境のPC上でAIを動作させることも技術的に可能となっている。
「Outside」は、すでに屋外で活動しているものの、従来の瞑想アプリが利用しづらかった人々、例えば散歩する人、犬を散歩させる人、ランニングの合間の人、ランチ休憩中にベンチに座る人などを主なターゲットとしている。特に、呼吸に集中する瞑想でめまいや不安を感じる人、公共の場で目を閉じられない人にとって、このアプリは「これは合わない」と伝えることで、それに耳を傾け、適応するよう設計されている。開発者は、このアプリの唯一の成功指標を「ユーザーが電話を置くこと」と考えているが、この指標は意図的に測定できないように設計されている。これは、アプリがユーザーに画面から離れ、現在の瞬間に意識を向ける手助けをすることこそが最も重要であるという、開発者の強いメッセージが込められているのだ。