JLPT Sprint Desk は、最初は単純な問題から始まりました。初日に完璧に見える学習計画でも、数日実行すると現実から離れていきます。
最新版も「計画 → 記録 → 分析 → 調整」というループを中心にしていますが、今では単なるデータダッシュボードではありません。動的な試験日、毎日のリマインダー、試験当日の状態、二言語 UI、カレンダー出力、完全復元を備え、ひとつの受験サイクルを通して使えるワークスペースになりました。
公開版:jlpt-sprint-desk.vercel.app

最初に「今日何をするか」を示す
総覧ページの最優先事項は、すべての数字を見せることではなく、次の行動を決めることです。
今日の記録有無、現在の段階、最近の完了度、計画健康度に応じて提案が変わります。未記録なら短い記録を促し、完了後は振り返りや計画調整へ案内します。
固定ヘッダーには、現在のプロフィール、目標レベル、リアルタイムの残り日数、今日の記録状態、健康度、日付と時刻を表示します。アプリを開いたとき、前回どこで終わったかを思い出す必要がありません。
試験日は固定値ではなく動的に計算する
旧版では既定の JLPT 日程が固定されており、日付を過ぎるとカウントダウンや新規プロフィールの状態が不自然になりました。現在は、今日の日付から次回の JLPT を自動計算します。
試験日前後の状態も整理しました。
- ヘッダーと総覧で同じリアルタイム計算を使う
- 試験当日は「今日が試験」と明示する
- 終了した試験から次回日程へ一操作で切り替える
- 出力時に残り日数を再計算する
- 固定値ではなく実際の計画期間で進捗バーを計算する
小さな境界条件ですが、試験日を越えて使い続けられるかを左右します。
計画ページはローリング型の判断画面へ

計画生成では、目標レベル、試験日、平日・週末の時間予算、弱点、教材、よくある障害を組み合わせ、複数の段階に分けます。
長いタスクリストの前に、次の判断を表示します。
- 一日の平均時間は十分か
- 新しい語彙と文法は試験前に終わるか
- 復習期間を確保できているか
- 実際の時間は弱点に使われているか
- 最近の記録から現在の計画を維持してよいか
14 日カレンダーで直近のリズムを確認し、今日のタスクを実行し、週ごとの詳細を展開できます。各日は個別に調整でき、元の生成計画を上書きしません。
毎日の記録は約二分のまま
記録するのは、モジュール別の時間と数量、完了度、正答率、ミス原因、時間超過の理由、最も難しかった点、明日の最初の一歩です。
未記録の日には閉じられるリマインダーを表示し、記録後は振り返り提案へ切り替わります。目的は連続日数をきれいに見せることではなく、過負荷や中断を判断できる正直なデータを残すことです。
振り返りは行動レポートになった

分析ページは結論から始まります。直近 7 日の学習日、投入時間、平均完了率、連続記録、計画健康度、時間効率をまとめ、そのあとで次を直接判断します。
- 計画全体は健全か
- ペースは低すぎるか、高すぎるか
- 最も時間を使っているモジュールはどれか
- 明日最初に処理すべきミス原因は何か
グラフだけを見て利用者自身が結論を推測する必要がありません。
投入時間とミス原因を分けて診断する

モジュール分析は、計画上の重点ではなく、実際の時間が弱点へ届いているかを確認します。

ミス原因分析は、なぜ未完了・不正解になったかを別に扱います。接続、例文、自作文を一緒に残す、あるいは新規内容を減らして問題セットを計時するといった具体策を示します。
時間と原因を分離することで、「投入不足」なのか「方法の問題」なのかが分かりやすくなります。
出力は復元システムになった
最新版では次の形式を利用できます。
- Markdown 学習計画
- CSV 構造化データ
- HTML 学習レポート
- JSON 完全バックアップ
- 印刷向けページ
- ICS カレンダーファイル
ICS は予定をシステムカレンダーへ追加できます。JSON は設定、生成計画、手動調整、毎日の記録を復元します。インポートは複数のバックアップ構造に対応し、旧版データが取り残される危険を減らします。
複数プロフィール、ローカル優先、任意の同期
レベル、教材戦略、学習実験ごとにプロフィールを分け、設定、計画、編集、記録を独立して保持できます。
既定ではブラウザの localStorage に保存し、アカウントは不要です。端末間同期が必要な場合は、自分の Supabase プロジェクトを接続し、Magic Link でログインできます。updated_at を基準に新しい状態を選び、ローカルモードは単独でも動き続けます。
視覚と技術基盤も更新した
UI は Animal Island の視覚言語へ移行しました。紙のような背景、色分けされた機能ブロック、ラベル型見出し、明確な境界線、デスクトップのサイドバー、モバイルの下部ナビゲーションを採用しています。中国語と英語を即時に切り替えられます。
現在の技術構成は次のとおりです。
- React 19 + TypeScript + Vite 8
- React Router 7 Hash Router
- Animal Island UI + Lucide React
- CSS 変数、レスポンシブ設計、独自 SVG グラフ
- React Context + localStorage
- 任意の Supabase Magic Link 同期
- Vitest 単体テスト
計画ではなく「変化」を管理する
受験計画で難しいのは最初の一枚を書くことではありません。使える時間、弱点、試験日、必要なタスク量は変化します。
最新版 JLPT Sprint Desk は、その変化を扱います。動的な試験日、リアルタイムのカウントダウン、記録リマインダー、健康診断、日ごとの調整、カレンダー出力、完全復元によって、静的な計画を継続的に修正できるシステムへ変えました。
学習そのものを代行することはできませんが、今日の投入を明日の現実的な計画へつなげられます。
本記事は 2026 年 8 月時点のプロジェクトを反映しています。スクリーンショットのプロフィールと学習記録はデモデータです。
この記事を楽しんでいただけましたか?
役に立った場合は、私の活動を支援することをご検討ください。