IT・AI用語500語、13カテゴリ。この量を単語帳で回そうとして、3日で止まった経験が私にはある。原因は根性でも記憶力でもなかった。「覚える」という作業に、続けたくなる仕掛けが1つも無かったからだ。そこで発想を変えて、「単語を覚える」を「キャラを育てる」に置き換えた学習アプリを、AIと一緒に作った。名前は ITerm Master。答えるたびにXPが入り、レベルが上がり、実績バッジが解除されていく。この記事では、その画面と「続く」を作る設計の勘所を、実物のスクリーンショットつきで全部見せる。
目次
このガイドで作るもの
ITerm Master は、IT・AI用語500選を覚えるためのデスクトップ学習アプリだ。Python の GUI フレームワーク Flet(Flutter ベース)で画面を作り、学習履歴は SQLite に自動保存する。見た目は「Cyberpunk Study Lab」と名づけたダークテーマで、ネオンの光る円形プログレスが全体の習熟度を映す。

ホームに置いたのは、数字で「自分の現在地」が一目で分かる部品だけだ。全体習熟度、レベルとXP、連続学習(ストリーク)、今日のミッション、カテゴリ別の進み具合。ゲームのステータス画面と同じ発想で、開いた瞬間に「昨日の自分より進んでいる」ことが見えるようにした。
覚える入口は3つ:フラッシュカード・クイズ・苦手特訓
学習モードの基本はフラッシュカードだ。用語が表示され、Space キーで答えを見て、自分の理解度を3段階で申告する。キーボードだけで回せるので、1語あたり数秒のテンポで進む。

ポイントは、この3段階の申告をそのまま報酬に変換することだ。×は1XP、△は3XP、○は10XP。さらに初めて覚えた語には+10、一度「わからない」と申告した語を克服したら+20、完全にマスターしたら+30のボーナスが乗る。正直に「わからない」と押しても1XPは入るので、申告をごまかす動機が生まれない。
2つ目の入口がクイズだ。用語の説明文から正しい用語を4択で当てる。フラッシュカードが「思い出す」練習なら、クイズは「説明と用語を結びつける」練習で、同じ500語を別の角度から叩ける。


3つ目が苦手特訓だ。「わからない」と申告した語だけを集めて再挑戦するモードで、ホームのカテゴリカードにも「⚠ 苦手 1」のように数が出る。苦手を潰すと+20XPのボーナスが待っているので、いちばん面倒な復習が、いちばん割のいい稼ぎ場になる。私の場合は「ネットワーク」と「AI・機械学習」に苦手が溜まりやすく、寝る前に苦手特訓だけ1周する使い方に落ち着いた。
「続く」を作る仕掛け:XP・13ランク・実績コレクション
このアプリの本体は、暗記機能よりむしろ報酬設計のほうだ。獲得したXPの累計でレベルが決まり、称号は13段階。Lv.1「新米コーダー」から始まり、Lv.6「ネットワーク忍者」、Lv.10「データ魔術師」を経て、10万XPでLv.13「IT 大師範」に到達する。レベルの名前をふざけ気味にしたのは意図的で、次の称号を見たさに「あと238XP」を稼ぎたくなる。
デイリーミッションは毎日3件出る。「クイズで5問正解する」「苦手用語を5個復習する」のような小さな課題で、3件達成すると+50XP。1日の学習の「最低ライン」を決めてくれるので、ストリーク(連続学習日数)が途切れにくくなる。

実績は全37種。覚えた語数のマイルストーン、マスター数、連続学習、クイズの連続正解コンボなど、複数の軸で用意した。未解除のバッジを「???」で隠すのはゲームの定石で、コンプリート欲を素直に刺激してくれる。
作り方の要点:辞書はMarkdown、履歴はSQLite
設計でいちばん効いたのは、用語辞書を Markdown ファイルにしたことだ。「## カテゴリ名」の見出しと「| 番号 | 用語 | 説明 |」のテーブルだけで書かれた IT_AI_用語500選.md を、起動時に正規表現でパースして読み込む。この形式にした理由は2つある。辞書そのものをAIに書かせやすいこと、そして用語の追加・修正がテキストエディタで済むことだ。例えば「ツール使用 (Function Calling)」の説明文を手直ししたくなったら、mdファイルの該当行を書き換えて保存するだけでいい。次の起動で新しい説明が読み込まれる。データベースに用語を入れてしまうと、内容を直すたびに管理画面が要る。Markdownなら差分もgitで追える。
学習履歴のほうは SQLite に分けた。各用語の評価履歴、累計XP、ストリークの日付。アプリを閉じても消えない「育てた記録」はDBに、コンテンツはテキストに。この分離のおかげで、辞書を差し替えても学習履歴は無事に残る。
画面は Flet で組んだ。Python だけで Flutter 品質のUIが出るので、ネオングローや円形プログレスのような「ゲームらしい見た目」も CSS 無しで書ける。キーボードショートカット(Space で答え、1〜3で評価)も Flet のイベントで素直に実装できた。デスクトップアプリとして PyInstaller で固めれば、Python が入っていないPCにも配れる。
AIとの分担はこうだ。要件定義書と画面構成は私が会話で固め、コードの大半は Claude に書かせた。XPの数値バランス(×1/△3/○10、ボーナス10/20/30)だけは、自分で何度か学習を回して調整した。報酬の気持ちよさは、数字を触った本人にしか分からない。
実際に使って見えたこと
スクリーンショットの数字は演出ではなく、私の実データだ。累計3,262XPでLv.3「コード候補生」、全体習熟度16%、「プログラミングの基本」カテゴリだけ42/42の100%。得意分野から先に潰す遊び方が自然に生まれるのは、カテゴリ別の習熟度カードが「あと少しで100%」を見せてくるからだ。
やってみて分かった弱点もある。ストリークは1日空くと容赦なく途切れる(最長記録2日が画面に残っているのが動かぬ証拠だ)。それでも「昨日より数字が進む」体験は単語帳には無かったもので、500語の壁が「未学習400」という減っていくカウンタに変わっただけで、心理的な重さがまるで違う。
覚える気力は、画面から湧く。
正直なまとめ
暗記が続かない原因は、教材ではなく設計にあると私は考えている。3段階の自己申告をXPに変え、レベルと実績で進捗を可視化し、デイリーミッションで最低ラインを決める。この3点を組むだけで、「勉強しなきゃ」は「今日のミッションを消化したい」に変わる。既製の暗記アプリを探し回るより、自分の覚えたい500語に合わせてAIと作ってしまうほうが、結局は続いた。Flet と SQLite と Markdown。使った道具はこれだけだ。次はあなたの「覚えたいリスト」で、同じ仕掛けを組んでみてほしい。
この制作で使ったもの PR
🖥 サーバ/ドメイン
🤖 使ったAIツール(公式)
📚 技術書(Amazon)
👉 関連: 開発実例:ITerm Master ・ ほかのアプリの作り方 ・ バイブコーディング入門



