すべてがひとつの学習記録の上に
ふつうは、間隔反復にひとつ、辞書にひとつ、漢字にひとつ、文法にひとつ、読解にリーダー、説明にチャットボット——どれも良い道具ですが、互いのことを何も知りません。筋は同じ仕事をひとつのオフラインアプリにまとめ、ひとそろいの学習データを共有させます。
開発中
日本語を学ぶ人と教える人のためのiPadアプリ
辞書・漢字・文法・読解・試験対策・間隔反復を、ひとつのオフライン優先のネイティブアプリにまとめ、単一の学習記録の上で動かします。同じデータの上に先生用の画面もあります——課題の割り当て、宿題、採点、日程、チャット。
iPadOS · iOS · macOS
できること
ふつうは、間隔反復にひとつ、辞書にひとつ、漢字にひとつ、文法にひとつ、読解にリーダー、説明にチャットボット——どれも良い道具ですが、互いのことを何も知りません。筋は同じ仕事をひとつのオフラインアプリにまとめ、ひとそろいの学習データを共有させます。
同じログインの裏に、6区画の先生用画面。要注意者でまとめたクラス一覧、宿題の作成と採点待ち、RFC 5545に沿った定期レッスンの日程、チャット、そして先生が自分で作るか取り込める教材ライブラリ。
MetalのキャンバスがApple Pencilの筆圧・傾き・方位を読み取り、動的時間伸縮でKanjiVGの手本と軌跡を照合します——書き順、方向、字形、位置まで。ガイドが手を導き、上達するにつれて静かに引いていきます。
形態素解析が文を語に分け、語をタップすればオフライン辞書が開き、ふりがなは語ごとに任意。文中の文法パターンを拾い出して、文法解説へ結び付けます。
取り込み口は4つ、流れはひとつ。カメラまたはPDFをOCR、Ankiデッキ、貼り付けたテキスト、リンク。取り込んだ素材はJLPTの級に照らしてレベル分けされ、読みと意味が補われ、学習セットと練習問題になります。
JLPT・NAT-TEST・J.TEST・JFT-Basic、それぞれの区分構成と採点方式で。 JLPTの14種類の設問形式、時間を計った通し模試、区分ごとの基準による採点 ——ひとつの区分での不合格は、総合の不合格とは別に扱われます。
なぜつくったか
ひとつのイベントログの上に載った、ひとつの学習モデル。だから41種類のアクティビティが、各ドリルごとに別々の成績を持つのではなく、ひとつの記録を共有できます。
iPad で
中身
つくりかた
Swift 6のネイティブコードをstrict concurrencyの下で。40ほどのモジュールからなるアンブレラパッケージで、ドメイン中核・永続化層・UIのあいだに境界を引いています。作業はまずローカルのSQLiteに入り、アウトボックスキューを通してSupabaseと突き合わされるので、電車の中でもアプリは動き続けます。参照データは取りに行くのではなく同梱です——13,108字の漢字、うち6,703字の筆順字形、31,151件の辞書項目、684の文法パターン、613,270件の固有名詞の読み。反復はひとつのイベントログの上のFSRS-5で、だからこそひとつの学習モデルが 41種類の活動を扱えます。各ドリルが別々に成績を持つのではなく。現在も開発中です。上に並べた範囲は、ひとりで早く終わる量ではありません。
FSRS-5
公開されている間隔反復アルゴリズムの第5版。Ankiにも採用されているので、ここでのカードの難易度は、そちらでの難易度と同じ意味を持ちます。
KanjiVG
手書き判定が採点の基準にしている、公開の筆順データセット。13,108字のうち 6,703字だけが筆順アニメーションを持つのも、手を抜いたからではなく、このデータの収録範囲がそこまでだからです。
Sudachi
日本語を単語に区切る形態素解析器。読解画面の処理は、まずこの分割が済まないと何ひとつ始まりません。