Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How I Got Out of the Duolingo Streaks Trap (By Building My Own App)

2025年09月16日に「Dev.to」が公開したITニュース「How I Got Out of the Duolingo Streaks Trap (By Building My Own App)」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Duolingoの連続記録に囚われ、学習効果が低いと感じた筆者は、自分に合ったスペイン語学習のためChatGPTを活用。さらに、独自の会話練習アプリを開発した。その結果、実践的な学習が可能になり、既存ツールが合わない場合は、自分に最適なツールを自ら作る重要性を学んだ。

ITニュース解説

Duolingoで172日間という連続学習記録を達成した筆者が、その記録が学習の妨げになり、最終的には自分自身のアプリを開発して問題から抜け出した経験について解説する。これはDuolingoを否定するものではなく、多くの人にとって有効なツールであると認めつつも、筆者にとってストリークの維持が学習そのものよりも重要になってしまったという個人の体験談である。

筆者はスペイン語を話せるようになりたいと長年思っていた。特に、好きな音楽であるレゲトンを歌詞の意味まで理解して楽しみたいという強い願望があった。すでに多少の知識はあったものの、本格的な学習のきっかけとしてDuolingoを使い始めた。

Duolingoでの学習は最初は楽しく、ゲームのような要素がモチベーションを高め、連続学習記録(ストリーク)も順調に伸び、語彙力も向上した。しかし、いつしかストリークを途切れさせることへの恐怖が学習の大きな目的となり、本来の学習目的であるスペイン語の習得は二の次になってしまった。学習は義務感に変わり、楽しさよりもプレッシャーを感じるようになったという。

その問題が明確になったのは、あるコンサートでの出来事だった。半年間毎日Duolingoで学習を続けていたにもかかわらず、歌手が話す内容の半分も理解できなかったことに大きなショックを受けた。この時、Duolingoがクイズ形式の回答練習ばかりで、実際の会話力や聞き取り能力の向上にはあまり役立っていないことに気づいたのである。

この状況を打開するため、筆者はまずスマートフォンのChatGPTアプリを使い、カジュアルな会話を試みた。いきなり完璧なスペイン語での会話はハードルが高すぎたため、英語とスペイン語を混ぜた「スパングリッシュ」で会話を進めた。会話がしやすいように、ChatGPTからの返答は2文に制限し、英語とスペイン語の比率も自分の快適なレベルに合わせた。また、間違いを恐れる必要がないよう、プレッシャーを感じずに話せる環境を作った。この方法は非常に効果的で、初めて一週間継続してスペイン語を話す練習ができた。

しかし、この方法にも課題があった。具体的には、どのくらいの割合で英語とスペイン語を混ぜるか(スパングリッシュレベル)、ChatGPTの音声速度をどう調整するか、そして毎回これらの設定をプロンプトで細かく指定する手間がかかる点である。既存のアプリを探したが、これらの要望を全て満たすものは見つからなかった。そこで、筆者の中にあった「自分で作ってしまおう」という開発者の本能が働き、独自のアプリを開発することを決意した。

開発されたアプリは「Lulu AI」と名付けられた。このアプリの技術的な構成要素は以下の通りである。 まず、ユーザーが直接触れる部分である「フロントエンド」には、Apple製品向けのアプリ開発によく使われる「Swift」というプログラミング言語を用いた。ユーザーインターフェース(UI、画面のデザインや操作部分)はChatGPTを活用して生成した。 次に、アプリが話す「音声」の部分では、「Eleven Labs」という外部の音声合成サービスを利用した。これにより、自然な音声でスペイン語の会話練習が可能になった。 そして、アプリの裏側でデータの保存や処理、ユーザー認証などを行う「バックエンド」には、「Firebase」というGoogleが提供するプラットフォームを利用した。Firebaseは、データベース(DB)機能でユーザーの学習記録などを保存し、クラウドファンクション(functions)で特定の処理を実行し、ユーザー認証(Auth)で安全なログインを管理し、ストレージ(Storage)で音声ファイルなどのデータを保存する役割を担う。 最初期に作った実用最小限の製品(MVP)は見た目が洗練されていなかったが、筆者が抱えていた「実践的な会話練習ができない」という根本的な問題を解決することができた。このアプリは現在、App Storeで公開されている。

このアプリを約2ヶ月間開発し、実際に使用した経験から、筆者はいくつかの重要な学びを得た。 一つ目は「認知的負荷」の重要性である。会話の相手からの返答が2文程度に短いと、頭の中で翻訳する負担が減り、よりスムーズに会話を続けられると感じた。長い文章を処理しようとすると、それだけで疲れてしまい、会話が途切れてしまうことがあるため、この点は非常に重要だった。 二つ目は「スパングリッシュレベル」の有効性である。最初は30%程度のスペイン語から始め、徐々にスペイン語の割合を増やしていき、現在では80%まで到達した。いきなり100%のスペイン語で話すのは難しくても、自分のレベルに合わせて徐々に慣れていくことで、無理なくスキルアップできることを実感した。 三つ目は「リスニング」の難しさである。文章を読むことと、音声を聞いて理解することでは、後者の方がはるかに難しい。アプリで音声速度を調整できるようにしたことで、自分のペースで聞き取り練習ができ、理解度が向上した。 そして最も重要な学びは、「より多くの会話練習時間」を確保できるようになったことだ。Duolingoを使っていた頃と比べ、Lulu AIでの練習時間は大幅に増え、その結果、以前は聞き取れなかった歌のフレーズを理解できるようになるなど、実際の効果を実感している。

最後に、開発者が陥りがちな「自分でツールを作る罠」についても触れている。既存のツールで十分な場合でも、つい自分で作ってしまうことがあるが、これは多くの場合、未完成なプロジェクトに終わり、結局は問題解決にならないことが多い。しかし、今回のケースのように、既存のツールが自分の学習スタイルや目的に全く合っていない場合、自分で解決策を構築することが唯一の道となることもある。Duolingoのストリーク機能が筆者のモチベーションを阻害していたように、ツールが「自分向けに設計されていない」時には、自分で最適化された環境を作り出すことが、真の課題解決につながるのである。この経験は、システムエンジニアを目指す上で、単に技術を使うだけでなく、ユーザーの課題を深く理解し、その解決のために最適な手段を模索する視点の重要性を示している。

関連コンテンツ

【ITニュース解説】How I Got Out of the Duolingo Streaks Trap (By Building My Own App) | いっしー@Webエンジニア