已上线 English

The Time Boxing

一个本地优先的 timeboxing 规划工具,用来把混乱的一天拆成 brain dump、优先事项和时间块。

打开项目

The Time Boxing logo

The Time Boxing 是一个很小的效率工具,核心形状也很简单:先把脑子里的东西倒出来,再选出真正重要的几件事,最后把它们放进一天的时间块里。

很多任务工具都很擅长让你继续加列表。这个当然有用,但它不一定会逼你真的做计划。The Time Boxing 更固执一点:它给你一个 brain dump、三个 top priorities,以及一个 30 分钟粒度的日程表。重点不是维护一个无限增长的任务数据库,而是判断今天到底装得下什么。

它具体做什么

主界面有三个工作区域。

Brain dump 用来快速收集。想到什么先扔进去,不需要立刻决定它应该放在哪里。优先事项区域把一天的顶部压得很小。日程表则把这些事情放进具体的时间块里。交互上尽量直接:可以拖拽,可以 inline editing,不需要为了写一句任务去打开一个弹窗。

它也支持调整已安排任务的时长、键盘操作、本地保存,以及按计划开放的云端同步。匿名使用时,数据留在浏览器里。Pro 版会加上 Supabase 同步、历史记录、自动 rollover,以及跨设备规划。

为什么这样做

这个产品刻意追求直接。

点一个格子,然后输入。拖一个任务,然后移动。时间不够,就把那个 schedule block 拉长。

听起来很普通,但这正是重点。一个 planner 如果本身变成另一份工作,它就没什么意义了。它的交互应该贴近真实的一天:先快速捕捉,选出少数几件事,然后在现实变化时把时间块挪一挪。

本地优先也很重要。一个规划工具不应该要求你先注册账号,才开始有用。账号和付费系统是为了同步和历史记录存在的,不应该挡在基本规划前面。

工程上长什么样

这个 app 用 Next.js、React、TypeScript、Tailwind、Zustand、Supabase、Stripe 和 @dnd-kit 搭起来。

难点其实不是画出一个日程网格。真正麻烦的是很多小交互必须一致:inline editing、拖拽插入、priority overflow、跨多个时间块的任务、本地存储、云同步、rollover、登录状态、订阅状态,都得对“今天的计划”有同一个理解。

这个产品的核心张力也在这里:界面要简单,但状态模型不能脆弱,不能让用户丢东西。

当前状态

The Time Boxing 已经上线:thetimeboxing.com

现在的版本支持本地规划、账号、Pro 同步、付费、历史记录和自动 rollover。它还不是一个特别“包装完整”的 productivity brand,更像是一个实用软件。但我觉得最有用的部分已经很清楚了:一张页面,把松散的任务变成真正的一天。