PRODUCT NOTE / PRD

Bearise

場面(シーン)で、話せるように。
この文書は「何ができるか」ではなく、中止したプロダクトを、どこをどう変えて作り直したかを記録した開発ノートです。

ステータス開発中(ストア公開準備中)
現行バージョンv1.0.0(build 7・未公開)
プラットフォームiOS / Android
対象ユーザー読み書きはできるが、その場になると英語が組み立てられない日本語話者
出自Grizzlingo(v0.5 で開発中止)の後継。同じリポジトリを土台に作り直した
最終更新2026-08-16
関連リンク プロダクトページGrizzlingo(中止の記録)Engly開発ノート一覧
TL;DR

ひとことで

Bearise は、場面(シーン)を単位に「その場面を英語で切り抜ける」を積み上げる英語学習アプリです。状況画像・前提・一人称ロールを提示し、理解 → 認識 → 産出 → 発話 → 定着の 5 段階を順に踏ませます。教材は事前に作って端末に持つため、通信なしで練習できます。

前身 Grizzlingo は「興味テキストから AI が都度生成する」設計で、v0.5 で開発を中止しました。Bearise はその2 つの死因を、機能追加ではなく構造の置き換えで潰すことだけを目的に作り直したものです。

Problem

解こうとしている症状

ターゲットの症状はひとつに定義している。

言いたいことが、その場で英語で組み立てられない。

原因は 2 つあり、どちらも同じ症状として現れる。材料がない(会話の型・語彙・その場の文法が出てこない=スキル)と、怖くて出せない(完璧主義・恥=心理)。この 2 つを別々に解こうとすると機能が膨らむため、「組み立てられない」という症状を直接解くことに一本化している。

Why Rebuilt

2 つの死因を、構造で潰す

Grizzlingo の中止理由は「作れなかった」ではなく「作れても学習方法として成立しにくい」だった(詳細は Grizzlingo の開発ノート)。Bearise はこの 2 点にだけ答えている。

fix 1 カリキュラムを担保するために、単位を「興味」から「場面」に変えた
DECISION
AI による都度生成をコア体験から外し、事前に作って人の目を通したシーンを配る形にした。ライブ AI は課金側の付加機能に降格。
WHY / 仮説
「空港のチェックイン」で話す英文・文法・単語は有限に閉じる。閉じているから、難易度の階段と出す順序を設計できる。これは都度生成では原理的に担保できなかったもの。
RESULT
20 シーンを事前生成+レビューして収録。音声も事前生成して端末に同梱したため、無料コア体験の限界費用がゼロになり、オフラインでも動くようになった。
fix 2 継続の駆動力を「興味」から「クリアと積み上げ」に変えた
DECISION
興味ドリブンをやめ、シーンをノードとして並べた地図を継続の軸に据えた。1 つ切り抜けると次が開く。
WHY / 仮説
Grizzlingo で分かったのは「好きな話題でも作り続ければ飽きる」ということ。興味は初速にはなるが駆動力にならない。一方シーンには「終わり」があるので、完了感と前進の可視化が使える。
RESULT
「海外旅行」ジャーニー(11 シーン)+雑談系シーンを地図に配置。進捗を「0/11 クリア」の形で常時提示する構成にした。
Core Loop

1 シーンを 5 段階で通す

いきなり「話してみましょう」とは言わない。低リスクな認識課題から始めて、産出・発話まで運ぶ。

① 理解状況画像+前提条件+一人称ロール(「あなたは搭乗客」)を提示。母語補助で意味とゴールを掴む
② 認識正しい英文を選ぶ/並べ替える。まだ自分で作らなくていい(足場)
③ 産出キーワードだけを手がかりに、自分で英文を組み立てる
④ 発話シャドーイング+音声認識で、実際に言えたかを判定する
⑤ 定着結果を SRS に登録。克服デルタ(前回 ✗ → 今回 ○ の数)を可視化する

「シンプルに・細かく・深く」の両立は漸進的開示で解く。1 周目は対象英文が言えればクリア。周回するごとに文法ポイント・語彙・言い換えを開いていく。1 シーンで全部を出さない。

Solution & Scope

やること / やらないこと

やる場面単位のカリキュラム、5 段階ループ、地図状の進行、事前生成音声によるオフライン練習、文法スライドとパターン別ドリル、SRS と当日復習レーン
やらないTOEIC 等の網羅的な試験対策(本モードは「場面で使う文法」に限定)、教師添削、学習者コミュニティ、英語以外の言語(LangBridge が担当)
保留シーン内の完全自由 AI 会話。構造化シーンを「入口」、自由会話を「卒業後の応用」として棲み分ける案が有力だが未決
Screens

いまの画面

2026-08-16 時点。実機(iPhone シミュレータ)を通して撮ったもので、 下の意思決定ログがどう形になっているかの現物。

教科書の一覧。上に目次があり、章名のリンクから同じ画面の中で送れる
教科書:上に目次。8 カテゴリ 49 レッスンは 1 画面に収まらないので、章名のリンクで同じ画面のまま送る。折り返して 3 行に畳んであるのは、目次だけで画面が埋まると開いた直後にレッスンが 1 枚も見えなくなるため。
スライド末尾の「このスライドは理解した」スイッチと、下部の進捗の点
スライド:1 枚ごとに「理解した」を残す。ボタンではなくスイッチにしたのは、押したら表示が変わるだけだと「取り消せない」と読まれたため。下の点は理解済=塗り、既読=細い輪、未着手=何も描かない。
横断検索のシート。教科書と場面の当たりが打つそばから絞られる
横断検索:どの画面のヘッダーからも同じシート。画面は切り替えず、上に元の画面を覗かせる。一致部分を太字にし、居場所と何枚目かを添えて、押すと当たったスライドへ直接開く。
聞き取り問題。英文は画面に出ず、聞き直しの残り回数がボタンに出る
聞き取り問題:英文を画面に出さない。聞き直しは回数を切って残りを数字で出し、使い切ってもボタンは消さず落とすだけにして「文字で見る」を必ず生かす。
Decision Log

主要な意思決定ログ

listen 「聞く力」だけは、読んで逃げられない出題を別に作る
DECISION
音を聞かないと答えが決まらない出題形式を足した。英文を画面に一切出さない。聞き直しには上限(2〜3 回)を置き、残りをボタンに数字で出す。使い切ってもボタンは消さず落とすだけにして、「文字で見る」は必ず生かす。
WHY / 仮説
これまでも相手のセリフは音声だけで流していたが、聞き取れなくても日本語の指示を読めば答えられた。だから「聞く」は練習にならず、通じなかった原因が語彙なのか耳なのか切り分けられない。読める逃げ道を塞ぐ代わりに、行き止まりも作らない。聞き直しを無制限にすると「分かるまで聞く」になるが、実際の会話で要るのは 1〜2 回で掴む力。
RESULT
「文字で見る」の重みだけ聞き取り問題では最上位(お手本を見た)に上げた。産出の発話では聞いた文を読んでも答えは漏れないが、ここは問題そのものを読むことになるため。据え置くと「足場ゼロで解けた」扱いになり、次に出てくるのが遅れる。採点そのものは 1 行も変えずに済むデータの形にした。
slides 教科書の進捗を、レッスンではなくスライド 1 枚ごとに残す
DECISION
スライドの末尾に「このスライドは理解した」のスイッチを置き、下の点に足あとを出す。理解済は塗りつぶし、開いただけは細い輪、未着手は何も描かない。レッスン単位の「覚えた」は別の軸として残す。
WHY / 仮説
1 レッスンは 12〜20 枚あるのに、進捗はレッスン単位の「覚えた」しか無かった。20 枚を 12 枚まで読んだ人が、一覧では 0 のまま見える。どちらか一方から他方を導かないのは、一括「覚えた」が「覚えた=true / 0 枚理解」という嘘の状態を作るため。未着手に枠を描かないのは、手つかずの並びが「0%」を突きつける帯になるから。
RESULT
スライドの鍵は見出しから作った。添字で持つと 1 枚差し込んだ瞬間に以降の記録がずれて別のスライドを指す ―「読んでいない枚が理解済みになっている」という壊れ方は、記録が消えるより気づきにくい。ついでに一括操作の取り消しが「全部外す」になっていた穴も塞いだ(前から自分で付けていたぶんまで消えていた)。
find 探す道は 1 本にして、画面を切り替えない
DECISION
全画面のヘッダーから同じ横断検索(教科書+場面)を開く。シートを重ねるだけで画面は切り替えない。教科書の上には目次を置き、章名のリンクから同じ画面の中で送る。ヘッダーからは、しおり・覚えた・メモのアイコンを ⋮ に畳んだ。
WHY / 仮説
検索は教科書タブにしかなく、しかも教科書の中だけを探すものだった。「あの言い方、どこで見たっけ」を場面から引けない。画面ごとに違う検索があると、押すまでどこを探しているのか分からない。目次を別画面に分けなかったのも同じ理由で、行き来のたびに読んでいた場所を見失う。
RESULT
目次は最初 8 行を縦に並べたが、それだけで画面の 4 割を占め、開いた直後にレッスンが 1 枚も見えなくなったので折り返して 3 行に畳んだ。検索は当たったスライドへ直接開く(14 枚のレッスンの 1 枚目に落とすと結局そこから探すことになる)。実機の画面を見て、聞き取り問題の設問が背景の写真に埋もれて読めないことにも気づき、既存の「絵の上で読める面」に載せ替えた。
praise 4 択で「よくできた」を出せるようにする
DECISION
声に出さずに終えた回の評価を、並べ替えと 4 択で分けた。4 択で 1 回で正解したときだけ最上位(great)を付ける。並べ替えは従来どおり「通じる形は作れた」止まりにする。
WHY / 仮説
「問題を解いても褒められた気がしない」という申告から中を見たら、4 択は構造上、絶対に最上位にならない作りだった。「話していないのに『よく言えた』とは言えない」という発話練習のための判断が、声を出す余地のない 4 択にもそのまま掛かっていたため。教科書の問題は 10 問中 3 問が 4 択なので、全問 1 回で正解しても「完璧!」に一生届かない。
RESULT
4 択の正解時に手ごたえ(画面フラッシュ・触覚)が返っていなかった穴も同時に塞いだ。元の設計原則は壊していない:判定を純関数に切り出し、「並べ替えは 1 回で正解でも ok 止まり」をテストで固定して、場面練習の契約が崩れないようにした。
medal 勲章は「正解数」ではなく「1 回で正解した数」で決める
DECISION
教科書一覧のレッスンカードに金・銀・銅のメダルを出す。基準は問題 1 回分(10 問)のうち、1 回で正解した数のベスト。10/10 で金、8 割で銀、それ未満は銅、未挑戦は何も出さない。
WHY / 仮説
素朴に「正解した数」を数えると意味を成さない。問題は正解するまで先へ進めない作り(外すと理由が出て選び直す)なので、とばしたぶん以外は全員が満点になり、勲章が何も区別しなくなる。すでに内部にあった「1 回で正解/やり直して正解/とばした」の区別を成績に昇格させた。
RESULT
画面には「1 回で正解 8 / 10」と書き、何を数えたのかを隠さない。ベストだけ残す(下がらない)ので、2 周目にクリア済みをとばしても勲章は剥がれない ―「解くほど損」を作らないため。出題は毎回違う 10 問なので、「全問クリア=レッスン制覇」と誤読されないよう読み上げと副文に「1 回分のベスト」と明記した。
medal 勲章は出すが、収集ゲームにはしない
DECISION
メダルは各レッスンカードのいちばん下の行にだけ置いた。カテゴリ見出しや AppBar に「金メダル 3/7」のような集計は出さない。銅のラベルも「あまりできなかった」ではなく「チャレンジ済み」にした。
WHY / 仮説
このアプリはアンチペルソナに「ストリークやバッジを集めるのが目的の層」を置いている。集計を並べた瞬間に一覧が収集ゲームの計器盤になり、狙っていない層に最適化してしまう。銅の文言は一覧に居座り続けるので、見るたび責められる形にはしない(数字は併記するので情報は落ちない)。
RESULT
カード内の並びを「上ほど次にやること、下ほどこれまでの記録」に統一した。読む前から点数の話が目に入らない。学習状態(読んだか)と勲章(解けたか)は別の軸として並べ、統合しなかった ― 読まずに問題だけ解く人を表現できなくなるため。
naming Grizzlingo の名前を捨て、Bearise として出す
DECISION
プロダクト名を Bearise(jp.nzw.bearise)に変更。リポジトリ名は grizzlingo のまま残置し、旧版は archive/v0.5-grizzlingo ブランチに保存した。
WHY / 仮説
中身が「興味ドリブンの教材生成」から「場面ベースの産出練習」に変わり、旧名が指すコンセプトと一致しなくなったため。中止を公開済みの名前を引き継ぐと、何が変わったのかが伝わらない。
RESULT
中止ノートは消さずに残し、そこから Bearise へ導線を張る形にした。「なぜ止め、なぜ作り直したか」が一本の線で読める。
strategy 「採点しない足場」路線を降り、段階カリキュラム路線へ舵を切る
DECISION
旧戦略は「文法を体系的に教えない/採点しない」を越えたら死ぬ線としていた。Bearise ではこれを撤回し、段階的カリキュラム+任意フィードバックに変更した。
WHY / 仮説
「採点しない」を守ると、死因①(カリキュラムを担保できない)が構造的に解けない。両立しないので、より致命的なほうを取った。
RESULT
旧路線の良い部分(心理的安全)は課金設計で継承した。無料=採点されない反復/有料=任意の AI フィードバック。「いつ評価されるかは自分が決める」形にして、恐怖と課金導線を両立させた。
cost 無料層はサーバーの AI を一切叩かせない
DECISION
無料で触れるのは事前生成のシーンとバンドル音声のみ。ライブ生成・AI フィードバック・AI 音声はすべて課金側に置いた。
WHY / 仮説
個人開発で最初に死ぬのは原価。無料ユーザーが増えるほど赤字が増える構造だと、伸びること自体がリスクになる。
RESULT
無料コア体験の限界費用がゼロになり、濫用の余地もなくなった。副次的にオフラインで動くという訴求も手に入った。
security API 保護を課金開始より前に入れる
DECISION
バックエンド 6 エンドポイントすべてに Firebase ID トークン検証と uid 単位の日次上限(既定 100/日)を入れた。AI を呼ぶ全経路で未サインインならサインインへ誘導する。
WHY / 仮説
前身では upgradeToPremium() をクライアントから Firestore に書いていて改ざん可能だった。課金を載せる前に塞がないと、公開直後に原価を持っていかれる。
RESULT
本番で検証済み(無認証 → 422、不正トークン → 401、正規 → 200)。エンタイトルメントのサーバー検証はまだ残課題
Milestones

これまでの歩み

未公開2026-08-16

教科書を 40 → 49 レッスンに拡張(自分を説明する・聞き取る・掘り下げる質問)/場面に無料ジャーニー「自己紹介と質問」5 本/音を聞かないと解けない出題形式/スライド 1 枚ごとの「理解した」/全画面からの横断検索と教科書の目次

build 72026-08-12

教科書を 27 → 40 レッスンに拡張(代名詞・接続詞・仮定法ほか)/全レッスンの例文を並べ替え可能な完全文に統一/問題クリア時の演出と一覧の勲章を追加

v1.0.02026-08

Bearise として再出発/シーン 20 本と文法スライド図書館を実装/下タブを 教科書・ホーム・ドリル に再編

rebuild2026-08-01

Scene Mode の PRD を策定/「採点しない足場」路線から段階カリキュラム路線へ変更

v0.52026-08-01

Grizzlingo 開発中止/興味ドリブンの教材生成という起点を棄却

protect2026-07-05

バックエンド API を Firebase 認証+日次上限で保護/TTS のブロッキングを解消

Roadmap / Open Questions

未解決のこと