#项目复盘#学习工具#JLPT#React

从倒计时到复盘:JLPT Sprint Desk 的学习闭环设计

2026年5月5日 10 分钟阅读

JLPT Sprint Desk 最新版加入动态 JLPT 考期、双语界面、提醒与考试日状态、14 天滚动计划、ICS 日历导出和完整备份恢复,并升级为 Animal Island 风格的学习工作台。

JLPT Sprint Desk 最初解决的是一个很朴素的问题:备考计划写得很完整,但真正执行几天后,计划和现实就开始分离。

最新版继续沿着“计划 → 记录 → 分析 → 调整”这条主线前进,不过现在它已经不只是一个数据驾驶舱。动态考期、每日提醒、考试日状态、双语界面、日历导出和完整恢复都补齐之后,它更像一张能陪完整个备考周期的工作台。

在线版本:jlpt-sprint-desk.vercel.app

JLPT Sprint Desk 最新总览:动态日期时钟、考试倒计时、提醒、下一步行动和学习循环。

新版先回答“今天到底该做什么”

总览页的第一优先级仍然不是展示所有数据,而是给出下一步行动。

页面会结合今天是否已经记录、当前阶段、最近完成度和计划健康分,显示不同的行动建议。未记录时先提醒用两分钟留下真实进度;完成记录后,再引导用户查看复盘或调整后续任务。

新版还把日期、时间和档案状态放到固定顶栏里。用户随时都能看到:

  • 当前档案与目标等级
  • 距离考试的实时剩余天数
  • 今天是否已经记录
  • 当前计划健康状态
  • 当天日期与时间

它的价值在于减少切换成本。打开页面时不需要先回忆上次做到哪里,系统直接告诉你现在最值得做的事情。

考期改为动态计算,不再依赖写死日期

早期版本的默认 JLPT 日期是固定值,一旦过期,倒计时和新档案就容易出现不合理状态。现在项目会根据当前时间动态推算下一场 JLPT,并在设置页给出默认考期提示。

围绕考试日期还补齐了几个边界状态:

  • 顶栏和总览使用同一套实时倒计时逻辑
  • 到了考试当天,界面明确显示“今天考试”
  • 考期已经过去时,可以一键切换到下一场 JLPT
  • 导出计划时重新计算剩余天数,不导出过期快照
  • 倒计时进度条按真实计划跨度计算,而不是固定分母

这些都是小功能,但它们决定了一个计划工具能不能跨过考试日继续使用。

计划页从“生成清单”升级为滚动决策面板

最新版学习计划:合理性体检、动态建议、14 天日历、今日任务和可展开的详细计划。

计划生成会综合目标等级、考试日期、工作日与周末预算、薄弱模块、教材偏好和常见阻碍,然后拆成不同阶段。

页面顶部先展示几个判断,而不是直接丢出一长串任务:

  • 每日平均投入是否足够
  • 新词与新语法能否在考前完成
  • 是否为复习留下了足够窗口
  • 当前时间是否真的压在薄弱模块上
  • 最近记录是否支持继续保持原计划

14 天日历负责给出近期节奏,今天的任务单负责执行,下面的详细计划则可以按周展开。每一天都能单独微调,不会因为修改今天就覆盖整份原始计划。

这种结构比一次性生成“完美计划”更实际:计划提供方向,真实记录提供修正依据。

每日记录仍然坚持两分钟完成

每日记录只保留后续分析真正会用到的字段:

  • 各模块实际用时和完成数量
  • 任务完成度与正确率
  • 错因与超时原因
  • 今天最卡的地方
  • 明天的第一步

新版增加了更明确的提醒状态。没有记录时,总览会给出可关闭的提醒卡;记录完成后,提醒会自动让位给复盘建议。

记录的目标从来不是让连续天数更好看,而是留下足够真实的数据,让系统知道计划哪里偏重、哪里断档、哪里需要减量。

复盘页现在更像一份行动报告

最新版复盘首页:关键指标、复盘结论、计划健康分和记录缺口。

复盘页先给结论,再展示图表。顶部把最近 7 天压缩成几个关键指标:学习日、投入时间、平均完成度、连续记录、计划健康分和时间效率。

接下来的“复盘结论”会直接回答:

  • 总体计划是否健康
  • 当前投入节奏是否偏低或过高
  • 时间重心落在哪个模块
  • 明天最应该先处理哪个错因

这比只展示折线图更接近真实决策。用户不用自己从一堆数字里猜结论,可以先读判断,再往下核对证据。

模块投入与错因现在分开诊断

模块投入深度分析:比较语法、阅读、词汇、汉字与听力的实际时间占比。

模块投入页会把实际时间重新分配到汉字、词汇、语法、阅读和听力,并标记哪些模块占比偏高、哪些只是辅助投入。

它回答的是“时间真的花到薄弱项了吗”。计划里写了重视听力,不代表实际学习时真的给了听力足够时间,只有记录汇总后才能看出来。

错因热力分布:按照出现频次排列接续形式、时间不够等问题,并给出下一步处理建议。

错因分析则单独回答“为什么没有完成或为什么做错”。系统会按出现频次排序,并为高频错因给出具体动作,例如保留接续、例句和自造句,或者减少新内容、为题组加入计时。

时间分配和错误原因分开以后,调整计划时就更清楚:是投入不足,还是方法不对。

导出已经不只是备份按钮

最新版支持多种输出用途:

  • Markdown 学习计划
  • CSV 结构化数据
  • HTML 学习报告
  • JSON 完整备份
  • 打印友好页面
  • ICS 日历文件

ICS 可以把未来任务放进系统日历;JSON 则可以完整恢复计划设置、生成计划、手动微调和每日记录。导入页同时兼容不同版本的备份结构,减少项目迭代后旧数据无法恢复的风险。

对本地优先工具来说,“能导出”只是第一步,“能可靠恢复”才是真正的安全感。

多档案、本地优先与可选云同步

用户可以为不同目标建立独立档案,例如 N1 冲刺、N2 基础或另一套教材实验。每个档案的设置、计划、修改和记录彼此隔离。

默认情况下,所有数据保存在浏览器 localStorage,打开即可使用,不需要账号。需要跨设备时,可以连接自己的 Supabase 项目并通过 Magic Link 登录;同步按 updated_at 选择更新版本,保持本地模式仍然可以独立运行。

这仍然是我最喜欢的产品取舍:默认简单、私密、可离线管理,需要同步的人再主动开启云端能力。

视觉与技术栈同步升级

新版界面已经切换到 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 月的项目版本。截图中的档案和学习记录为演示数据。

喜欢这篇文章?

如果对你有所帮助,欢迎支持我继续创作

评论