Wenfeng Xing · blog

Time Archive:为什么我想做一个替时间保存记忆的产品

2,996 words7 min read#Time Archive#Product#Memory#Writing

Time Archive:为什么我想做一个替时间保存记忆的产品

English version

项目地址:https://timearchive.wenfengxing.com/

有些产品是为了提高效率。

有些产品是为了放大注意力。

Time Archive 想做的事情不太一样。它不是一个 feed,不是一个写完马上发出去的写作工具,也不是一个“给未来发邮件”的小把戏。它更像一个长期存在的数字档案馆:你把某个时刻真正重要的念头、判断、决定、预测,认真地留在今天,然后只在未来合适的时候重新打开它。

这件事听起来很简单,但我越往下做,越觉得它触碰到一个很少被认真对待的问题:

我们记录了大量信息,却很少真正保存那些对时间有意义的内容。

我为什么想做这个项目

很多数字产品都在帮我们“更快地产生”和“更快地消费”内容。

笔记软件鼓励即时记录,社交产品鼓励即时表达,消息系统鼓励即时响应。它们都在优化“现在”。

但一个人的记忆、判断和成长,并不只发生在现在。很多真正重要的东西,恰恰要在几个月、几年,甚至更久之后,才会显出它的重量:

  • 某个阶段你真正相信过什么
  • 你在做一个重大决定时是怎么想的
  • 你对未来做过哪些判断
  • 某个时刻你想对未来的自己留下些什么

这些东西如果只停留在聊天记录、随手记、草稿箱、或者某个最终会被淹没的时间流里,通常都很难被重新找到,更难被重新理解。

所以 Time Archive 的起点,不是“再做一个写作产品”,而是一个更朴素的问题:

能不能有一个地方,专门用来保存那些值得被时间重新打开的内容?

这个产品想解决的,不只是“存下来”

如果只是“保存”,我们其实已经有太多工具了。

你可以把一段话放进笔记软件,也可以把一封信存在邮箱里,甚至可以把一篇文字发到自己的云盘。但 Time Archive 关心的不是简单的存储,而是另一层更具体的语义:

  1. 这条记录为什么值得留下
  2. 它应该在什么时候重新出现
  3. 它再次出现时,应该如何被理解

也就是说,时间不是附属字段,不是 metadata,而是产品意义的一部分。

在这个项目里,一条记录不只是“写下来的文本”,它还带着明确的时间承诺:

  • 现在写下
  • 未来打开
  • 在时间过去之后重新阅读

这和今天大多数产品的默认逻辑几乎是反着来的。多数产品会问你:“现在要不要发?”
Time Archive 更关心的是:“你希望它在什么时候回来?

现在已经具备的核心能力

从仓库当前的实现来看,Time Archive 已经不是一个停留在概念层面的想法,而是正在验证最小闭环的产品。

它现在最核心的目标,是跑通一条完整的 archive lifecycle:

  1. 提交一条记录
  2. 在需要时完成邮箱验证
  3. 把它写入真正可持久保存的档案数据
  4. 在到期时正确地重新打开或投递

围绕这个闭环,项目已经有了几类很关键的能力。

1. 公开记录与私密记录的区分

项目当前不是把所有内容都当成同一种“文章”来处理,而是很明确地区分了两类场景:

  • public archive:适合进入公开档案、拥有永久链接的记录
  • private record:只属于提交者,需要邮箱验证与后续投递的私密记录

这个区分很重要。因为它决定了产品不是一个统一的大广场,而更像一个真正的档案系统:有些内容适合公开陈列,有些内容应该只在未来回到写下它的人手里。

2. 延时打开,而不是即时发布

Time Archive 当前的时间规则写得非常明确:

  • 所有时间用服务端确定
  • 数据库存储使用 UTC timestamptz
  • 公开内容由 publish_at 控制可见时间
  • 自定义日期必须是真实的日历日期
  • 自定义时间至少要在 3 个月之后

这背后其实是一个很清晰的产品判断:

如果一条记录马上就能打开,它就更像普通发布;只有在时间真正过去以后,它才开始具有 archive 的意义。

我很喜欢这一点,因为它让产品没有滑向“即时表达工具”,而是保留了它原本最核心的时间语义。

3. 永久链接与稳定记录 ID

项目里对 public record 的处理也很有意思。

当前公开提交不仅会生成一条 intake submission,还会生成一条真正 durable 的 public_record。而且它会尽量保证:

  • 同一个提交意图不会重复生成多条档案
  • 同一个记录拥有稳定的 public ID
  • 永久链接可以长期存在

这意味着 Time Archive 把“可重新访问”和“可被时间保存”看得很重。

一条重要记录,不应该因为重试提交、重复请求、或者内部实现变化,就拥有不同的地址和不同的身份。
它应该像一份进入档案系统的记录一样,被稳定地保存下来。

4. 邮件不是增长工具,而是时间交付工具

这个项目里还有一条我很认同的设计线:邮件存在的意义,不是营销,而是交付。

目前仓库里已经有两类很明确的邮件流程:

  • public record 的永久链接邮件
  • private submission 的验证邮件

它们都强调了几个很“基础设施化”的原则:

  • email 行为要可重试
  • 要有 idempotency key,避免重复发送
  • 发送前后要有明确的 pending / sent / failed 状态
  • 不把 provider 逻辑直接混进产品领域逻辑

这种设计让我更确信,Time Archive 想做的不是一个“情绪化”的概念产品,而是一个真的准备长期维护的系统。

它为什么不是“给未来发邮件”

很多人第一次听这个想法时,可能会自然联想到:
“哦,那是不是就是给未来发一封邮件?”

我觉得不是。

“给未来发邮件”更多是一个单次动作;而 Time Archive 想成为的是一个长期可理解、可检索、可沉淀的地方。

从产品原则文档里能很明显看出来,它想让整个体验更接近这些东西:

  • 数字档案馆
  • 图书馆阅览室
  • 时间胶囊

而不是这些东西:

  • future email utility
  • social feed
  • growth-optimized consumer app
  • AI-first writing product

这个区分非常重要。

因为一旦把它理解成“未来邮件工具”,产品就会很容易滑向提醒、通知、促活、复访率这些短周期指标;而一旦把它理解成“archive”,很多设计决策就会自然变得不同:

  • 界面需要更安静
  • 内容需要更稳定
  • 记录需要更可追溯
  • 时间需要更清楚地被表达
  • 产品应该在提交之后“退后一步”,而不是继续争抢用户注意力

这也是我觉得它最有价值的地方。

我很在意的一点:时间本身就是产品的一部分

Time Archive 最打动我的,不只是它在“保存内容”,而是它认真对待了时间的价值

很多软件把时间当成排序字段。

这个项目更像是在说:

时间不是排序字段,时间是意义发生的条件。

一段文字今天读和三年后读,根本不是同一段文字。

一个决定刚做出来的时候,和三年之后回头看它,意义完全不同。

一句预测写下来的当天,和它被验证或证伪的那一天,也不是同一种阅读体验。

如果软件不能表达这种时间差,它保存的就只是内容,而不是经历。

所以 Time Archive 的价值,不只是替用户“记住”,更是替用户保留重新理解的可能性

从架构上看,它也在为长期做准备

这个项目还有一个我很喜欢的特点:它的代码结构本身就在反映“长期主义”。

仓库现在已经明确分成了几层:

  • apps/web:Next.js 前端与当前全栈入口
  • apps/worker:计划中的后台任务、投递、重试等
  • packages/db:数据库 schema 真相层
  • packages/drizzle:生成出来的 Drizzle schema snapshot
  • apps/web/src/server:当前运行时的服务端逻辑

这意味着它一开始就在努力避免一件很常见的事:
UI 快速长出来以后,业务含义却散落在页面、action、route 和临时脚本里。

对于一个以“时间、身份、投递、持久化”为核心语义的产品来说,这种边界感非常重要。因为将来会变化的是 UI,甚至运行时;但不应该轻易变化的是:

  • 记录的含义
  • 时间规则
  • 身份验证逻辑
  • 交付规则
  • 存储结构

这也是为什么我会觉得它不像一个“做着玩”的 side project,而更像一个在认真打地基的长期产品。

这个项目现在还不完整,但方向已经很清楚

从 README 和规则文档来看,Time Archive 当前的重点其实并不是炫目的前端界面,而是先证明最小闭环:

  • 提交
  • 验证
  • 入档
  • 延时打开 / 正确投递

这很克制,但我觉得是对的。

因为像这种产品,最危险的事情不是“界面还不够完整”,而是语义还没站稳,界面却先做得很像完成品

现在它的方向反而让我更有信心:

  • 先把 archive lifecycle 跑通
  • 先把时间规则写严谨
  • 先把邮件和身份流程做成可检查、可重试、可解释的系统
  • 再逐步往更好的阅读体验和更丰富的产品层生长

这比一开始就追求“像一个成熟消费产品”更有长期价值。

我希望它最终成为什么

如果只用一句话说,我希望 Time Archive 最终成为:

一个允许人认真对待时间、记忆与未来自己的数字地方。

不是社交平台,不是生产力面板,不是提醒工具。

而是一个真正值得托付“重要内容”的系统。

一个人可能会在这里留下:

  • 某个阶段最重要的判断
  • 给几年后的自己的一段话
  • 一个还无法立刻验证的预测
  • 一次难以复刻的心境
  • 某个决定当下的真实理由

这些内容的价值,不在于今天有没有人点赞,而在于多年以后它还能不能以清楚、完整、可信的形式重新出现。

如果它能做到这一点,我会觉得这个项目非常值得。

结语

Time Archive 的过程,也让我越来越清楚一件事:

今天的软件世界太擅长制造即时性,却不够擅长保存重要性。

我们已经有太多工具帮我们“现在发出去”,却很少有工具认真帮我们把某个时刻留给未来。

而我想做的,正是后者。

如果把一句话留给这个项目,我大概会写成:

不是记录更多,而是让真正重要的内容,值得被时间重新打开。