20ドルの会話アプリ開発挑戦記

20ドルの会話アプリ開発挑戦記

image1.jpeg

Googleは2026年5月のAndroid Showで、「Create My Widget」という機能を公開しました。この機能は、ユーザーが必要とする機能を自分で説明すると、Geminiが適切なウィジェットを作成してくれるというものです。簡単に言えば、スマートフォンで行うバイブコーディングですね。コーディングはもはや開発者という職種だけのものではなくなり、高性能なノートパソコンも必要とせず、スマートフォンを持っている人なら誰でも自分に必要な機能を直接開発できる時代の幕が開いたのかもしれません。

しかし残念ながら、個人的な業務環境では、セキュリティやレガシーな環境などさまざまな理由から、AIを積極的に活用してみる機会がまだありませんでした。だからといって、レガシー開発において一流の開発者ほど優秀でもない、ただのMediocreな開発者である私は、このような時代に少しずつ取り残されてしまうしかないのでしょうか。

未来のことは分かりませんが、Googleが示した方向性を試してみることにしました。OpenAIのChatGPTで、です(笑)。ビジネスレベルや収益化を目指して開発するのでもなく、かといって勉強のためでもない、「自分の日常で感じた不便を解決できるものを開発してみよう」。これが私の目標でした。

1. 不便な点を整理して要件をまとめる

image2.png

 個人的に会話に興味があり、英会話の勉強をしています。さまざまな試行錯誤を重ねながら、自分に合った学習方法とルーティンを段階的に考えてきましたが、毎回不便さを感じていました。

<自分なりの会話学習方法 3段階>

第1段階:興味のあるテーマのスピーチ動画を用意し、繰り返し視聴して文脈を把握する

第2段階:一文ずつ理解度を確認する

第3段階:シャドーイング

時間はかかりますが、個人的にはかなり自分に合った学習法だと思います。しかし、やはり問題は時間がかかることです。学習にかかる時間が自分のパフォーマンスによって変わるのは当然ですが、学習準備に費やす時間があまりにも長すぎました。AIとの対話を通じて、数ある不便な点の中から最も改善が必要な3つを整理し、要件としてまとめました。

<不便だった点と要件>

  • スクリプトを探したり準備したりするのに時間がかかる。これを短縮したい。

  • 学習以外に費やされる不要な時間が多く、1本の動画を最後まで終えるのに時間がかかりすぎる。(例:2秒前、3秒前の音声を聞くために、5秒前まで戻るなど)

  • デバイスや環境に関係なく、いつでもどこでも学習できる環境を整えたい。

2. 要件に基づいてソリューションを検証する

上記のように要件を自分で整理した後、それを解決するソリューションの策定と技術的な検証をCodexとともに進めました。まず、最大の不便である、1本の動画を学習する際に不要な時間がかかりすぎるという点を、優先的に解決することにしました。そのため、学習したい動画のURLを提供すると動画のスクリプトを抽出し、抽出したスクリプトを文脈に基づいて一文ずつ自動的に区切り、文の開始時間と終了時間のタイムスタンプを付与して、文単位ですばやく聞ける学習資料を作成する計画を立てました。

次に、作成した学習資料をデバイスや環境に関係なく、いつでもどこでも学習できるようにするため、モバイル学習アプリを作ることにして、ソリューションの計画を完成させました。

<ソリューション>

  • 学習したい動画のURLを基に動画のスクリプトを抽出し、文脈に基づいて一文ずつ解析する。文の開始時間と終了時間のタイムスタンプを文とともに保存し、学習資料を生成する。

  • 抽出した学習資料をモバイルアプリに取り込み、段階的に学習を進める。

  1. 開発

image3.png

動画を抽出し、動画の音声データを基にスクリプトを抽出して、一文ずつタイムスタンプをマッピングする機能をモバイルアプリに統合するのは、性能面で不適切だと判断しました。そこでまず、Macで動作するデスクトップアプリを作成し、学習資料はデスクトップアプリで生成することにしました。

image4.png

数回の修正を重ね、文ごとの解析とタイムスタンプのマッピングまで完了した最終的な学習資料は、自動的に個人のOneDriveへアップロードするよう、手順を簡素化しました。そのためにMicrosoft Azure Entra ID、Application registration、Graph APIを使用し、学習資料の準備が終わると個人のOneDriveへ自動的にアップロードされるよう構成しました。

image5.png

モバイルアプリは、OneDriveと連携して資料のダウンロードと学習の進行を中心機能とする方針で開発を進めました。自分なりの学習法に合わせて各段階のUIを変え、特に第2段階では一文ずつ再生できるようにしました。また、前後の文を編集する機能を追加し、短すぎたり長すぎたりする文をユーザーがカスタマイズできるようにしました。各段階で何回学習したかをカウントできる独自のトラッキング機能も追加し、自分の学習の進捗を追跡できるようにしました。

最終的な目標はマーケットへの公開でした。しかし実際に開発してみると、学習資料の準備(抽出・解析・文のマッピング)と学習機能の両方を、1つのモバイルアプリだけで担うのは適切ではないと判断しました。クラウドサーバーを構成してデスクトップアプリの機能をクラウド上で処理することもできますが、個人用途で使うにはサーバー費用の負担が大きいと判断し、採用しませんでした。今後、機能をさらに洗練させ、商用化まで考えるのであれば、挑戦してみてもよいかもしれません。

結果として、20ドル分のCodexトークンで、デスクトップアプリとモバイルアプリの両方を実用可能なレベルまで開発できたことは、個人的にかなり意義のある成果だったと思います。気持ちとしては100ドル、200ドルを思い切って投資して、さらにさまざまな試みをすることもできそうですが、Mediocreな開発者である以上、常に(Physical)Resourceを考慮しなければなりませんね。

一方で、Mediocreな開発者であっても、頭の中のアイデアを実際の製品にしていく練習は、月20ドルでも十分にできることを確認しました。

NZ

Site footer