クマ先生と学ぶ、AI 英会話・英語学習アプリ。
この文書は「何ができるか」ではなく、なぜ・誰のために・どんな判断で作ってきたかを記録した開発ノートです。
TL;DR
ひとことで
Engly は「英語をやり直したいが、教材は続かない・話す相手がいない」という日本語話者の壁を、AI との英会話ロールプレイ・文法16週コース・クイズ・音読を 1 つのアプリにまとめて崩すためのアプリです。学習はオフラインでも完結し、通勤中でも机の前でも続けられることを最優先に設計しています。
Problem
背景・解きたい課題
英語学習アプリは数多いが、日本語話者の「やり直し学習」には次の壁が残っていた。
- 続かない — 単調なドリルや長時間前提の設計で、日常に溶け込まない。
- 話す機会がない — アウトプット(会話)の練習は相手・場所・費用のハードルが高い。
- ネット環境に縛られる — 音声再生や AI 応答が通信必須だと、通勤・移動中に止まる。
- 文法が体系立っていない — 断片的な学習で「何を・どの順で」やればよいかが分からない。
Engly はこれらを「毎日・短時間・オフラインでも回る学習ループ」として一体で解くことを狙う。
Who
ターゲットユーザー
プライマリ
中学英語はわかるが、話す・使うレベルで止まっている社会人・学生。「まとまった時間は取れないが、毎日少しずつなら続けたい」層。
主なユースケース
- 通勤・通学のスキマに 1 回分のクイズ/音読
- AI 相手に会話ロールプレイでアウトプット練習
- 16 週コースで文法を順番にやり直す
Solution & Scope
解決策とスコープ
コア機能(In scope)
- 英語学習クイズ/タイムマッチクイズ
- 文法16週コース(16テーマ)
- AI 会話ロールプレイ(マップ+ノード解放)
- TTS 音読・今日の名言読み上げ
- 単語帳(ボキャブラリー管理)
- 学習履歴・統計(きろく)
- 全音声のオフライン再生
やらないこと(Non-goals)
- 資格試験(TOEIC 等)の網羅的対策特化
- 人間講師とのマッチング/有人レッスン
- SNS 的な学習者コミュニティ機能
- 英語以外の言語対応(LangBridge が担当)
Success Metrics
成功指標(KPI)
「毎日続く学習ループ」が成立しているかを、次の指標で見る。数値は目標仮置き
D7 > 30%
7 日後継続率
(続けられているか)
4+ 回/週
週あたり学習セッション
(習慣化しているか)
> 1 コース
16週コース完走率
(体系学習が回るか)
Decision Log
主要な意思決定ログ
各アップデートの裏にある「なぜ」を、決定・仮説・結果の 3 点で残す。
v1.7.2 問題を足すのをやめ、間違えた問題を資産として使う
- DECISION
- 新しい問題を増やす代わりに「間違えた問題を復習」を追加した。直近でまちがえた問題を「最近まちがえた順」で出し直し、再度正解したら復習対象から自動で外す。復習リストの手動管理はさせない。ホームの続き/復習カードと「まなぶ」タブの両方から起動でき、まなぶタブには残り問題数を出す。
- WHY / 仮説
- 収録数はすでに十分あり、続かない理由は「解く問題が足りないこと」ではなかった。むしろ間違えた問題がその場で流れていき、同じところで何度もつまずく。取りこぼしを潰すほうが、新規問題を足すより「伸びている」実感につながると考えた。復習を別アプリのような重い機能にすると開かれないので、既存の学習導線の中に混ぜる形にした。
- RESULT
- クイズ結果に「前回できなかった → 今回できた」の件数を出し、復習の成果をその場で見えるようにした。復習対象の出入りが自動になったぶん、ユーザー側の管理コストはゼロ。効果の検証は継続中。
v1.7.2 「ダークモード対応済み」を、全画面が破綻しないことで定義し直す
- DECISION
- ライト固定色を直接書いていた画面をすべて
Theme.of(context) 参照へ置換した。対象は文法 16 週コース・きろく・聞き流し・学習フロー・語彙帳・レベル診断・ロールプレイ英会話・会話 UI・オンボーディングなど、主要画面のほぼ全域。
- WHY / 仮説
- v1.7.0 で「ダークモード対応」と書いたが、実態は主要画面の対応どまりだった。薄い背景の箱に薄い文字が乗って読めない画面が残っており、部分対応は未対応より体験が悪い。切り替えたユーザーは「対応している」前提で使うので、1 画面でも壊れていれば設定そのものが信用されなくなる。
- RESULT
- 色の指定元がテーマに一本化され、以後の画面追加でも同じ壊れ方をしにくくなった。あわせてホームタイトル左にアプリアイコンを表示。
v1.7.0 ナビゲーションを 5 タブへ刷新する
- DECISION
- 画面下部に「ホーム/まなぶ/単語帳/きろく/設定」の 5 タブを置き、散らばっていた学習モードを「まなぶ」に集約した。
- WHY / 仮説
- 機能が増えるほど目的の学習への到達が遠くなっていた。「毎日・短時間」を守るには、開いてから学習開始までの導線を最短化する必要がある。
- RESULT
- 目的の学習に素早く到達できる構造に。あわせてダークモード正式対応とホーム画面の起動高速化も実施。
v1.6.0 全音声をアプリに同梱し、オフラインで再生する
- DECISION
- クイズ・ロールプレイ・文法・名言・音読のすべての音声を端末に同梱し、ネットワークなしで再生できるようにした。
- WHY / 仮説
- 主要ユースケースが「通勤・移動中のスキマ学習」である以上、通信必須は継続の最大の障害になる。オフラインで完結すれば学習ループが途切れない、と考えた。
- RESULT
- 各コースと設定画面に「オフライン再生対応済み」を明示。通信状況に依存しない学習体験を実現した一方、音声の不良を後から直せないという代償も抱えた。v1.7.2 では途中で切れる音声 112 件をアプリ更新で差し替えている(サーバー配信なら差し替えだけで済んだもの)。
backend AI バックエンド(grizzlingo)を認証+日次上限で保護する
- DECISION
- AI 会話・音声生成の API を Firebase 認証と 1 ユーザーあたりの日次上限で保護。あわせて TTS 生成を別スレッドへ退避した。
- WHY / 仮説
- AI・音声生成は 1 リクエストのコストが高く、無防備だと濫用・課金バイパスで持続不能になる。また TTS がイベントループを塞ぐと、他ユーザーの応答まで巻き添えで遅延する。
- RESULT
- 無認証・不正トークンを遮断しつつ、TTS のブロッキングを解消。サービスを止めずに濫用リスクとレスポンス遅延を同時に抑えた。
Milestones
これまでの歩み
v1.7.22026-07-19復習モード(間違えた問題の再出題・自動除外)/ダークモードを全画面へ徹底/途中で切れる音声 112 件を再生成
v1.7.12026-07-13リリース署名鍵へ切替/再開時のレベル引き継ぎ・ホーム改善/学習集計バグ修正
v1.7.02026-07-085タブ・ナビ刷新/ダークモード対応/ホーム改善・高速化
v1.6.02026-07-06全音声のオフライン同梱(学習ループの通信非依存化)
v1.4.x2026-05ロールプレイマップにノード解放システム/アップデート体験の刷新
v1.1.02026-04ダイアログ学習モード・ボキャブラリー管理を追加
v1.0.02026-02初回リリース(クイズ・文法16週・タイムマッチ・履歴・TTS)
全バージョンの変更履歴を見る →
Roadmap / Open Questions
これから
- 音声コンテンツの拡充(現在 audio/ を追加中)と、より自然な読み上げ品質の追求。
- 会話ロールプレイのシナリオ拡張と、レベル別の難易度設計。
- 「続く」を測る指標(継続率・週次セッション)の計測と、それに基づくオンボーディング改善。
未決事項:無料/有料の線引き、AI 利用コストと日次上限の最適値。運用データを見ながら判断する。