原型只花了一小时,产品做了两个半月
今天我发布了 Hotari,一个把真实生活变成 RPG 的 app。你把今天实际做过的事记下来,晚上,一个叫「史官」的 AI 读完你的一天,给你写一小段成长故事,然后给五个人生属性加点:智慧、体魄、心力、事业、关系。一件事做多了会变成技能,技能还能融合出新技能。如果你玩过 Habitica,可以理解成:像那样,但温柔而不惩罚,而且故事的主角是你自己。

产品介绍到此为止。下面是坦白环节。
「AI 时代,一天就能发布一个产品」——这话是真的。我知道,因为 Hotari 的原型就是去年某个晚上花一个小时做出来的。核心玩法,也就是「输入你的一天、看 AI 从中看见了什么」,第一次运行就通了。我太太看到 AI 对她一天的点评,笑出了声。那晚我睡觉时觉得自己是个天才。
然后它躺了快一年。
不是弃坑。我用 OpenClaw 把原型接进了一套 agent 化的部署,让它自己跑着,用来回答唯一重要的问题:「AI 每天给你的生活写故事、像 RPG 一样打分」这件事,到第二周还香吗,还是只是个给朋友演示一次的玩具?答案是香。每晚结算一天、看 AI 从我的一天里看见了什么,这个仪式一直把我拉回去。
于是今年五月,我开始正式做它。两个半月后,它成了一个产品:hotari.app。这篇文章想讲的是,这两个半月到底花在了哪里。「一天发布」的叙事里,恰好没有这部分。
数值在说谎
早期版本,普通的一天能给你加 60 点属性。爽是真爽,但没有任何意义。
更糟的是:「喂宝宝吃了顿辅食」和「独自带娃一整天」得分一样,都是 +3。如果数值分不出这两天的区别,它就不是镜子,是彩纸屑。我重写了打分标尺,加了难度锚点。现在充实的一天大概 +12,升级速度也顺势慢下来了。
亲手削自己产品的数值,感觉很怪。但一个只会讨好你的成长记录,不过是换了皮的老虎机。
AI 得学会说「不」
Hotari 有技能融合:「跑步」和「游泳」可以融合成「耐力训练」。早期版本什么都能融——编程加做饭?行啊,给你编一个玄乎的名字。
现在,负责融合的 AI(app 里叫「熔炼师」)会拒绝。两个技能之间没有真实的交汇,它会告诉你炉子点不着,并且提示你可以往哪个方向找素材。看着一个 AI 拒绝奉承你,反而成了整个 app 里最建立信任的时刻之一。为此重写了提示词、做了对抗性评审,还给「失败」专门设计了一段仪式动画。Demo 永远不需要说「不」,产品需要。
设计整个推翻过一次
第一版是像素字体加 CRT 扫描线滤镜。人生 RPG 嘛,就该复古像素,对吧?
对错了人。需要这个 app 的,是那些努力了很久却看不见自己进步的人。他们需要一面温柔的镜子,不是一台街机。我在项目中途把整套视觉推翻重做:圆润的字体、低饱和的配色、克制的动效。前后对比截图放在一起,有点好笑。

我最得意的功能,当着我的面失宠了
我看着太太自己用了两周,全程不插手。AI 叙事,也就是第一天让她笑出声的那个功能,两周后她只是扫一眼。真正让她每天回来的东西更朴素也更深:一张雷达图,告诉她最近生活的哪一块悄悄暗下去了。
这个观察直接改了我的路线图。它值得单独写一篇,这里只留个轮廓:演示效果最好的功能,和真正留住人的功能,未必是同一个。
以及剩下的一切
四种语言(简中、繁中、英文、日语),配了逐键对齐测试防止漂移。30 次数据库迁移。限流和安全审计,因为互联网并不友善。支付、免绑卡试用、四种语言的法律页。一套本地缓存,让三年前的旧手机翻历史记录不卡。将近 800 个测试。
对了,名字还改了两次,前两个都撞上了同赛道的其他 app。这事也够单独写一篇。
承认吧,代码大部分是 AI 写的
最终账目:58 个开发日,1,300 次提交,49 份设计 spec,83 份实施计划,不算测试约 30,000 行 TypeScript。
这些代码大部分是 AI 写的。我不打算装,也不觉得这算认罪。我的工作在代码之外:写 spec、跟评审 agent 吵架、否掉设计、观察真实用户、决定每个数字应该意味着什么。
所以关于「AI 一天发布」这场讨论,我的落点是:AI 没有把做产品压缩成一天,它把一个团队压缩成了一个人。那一个小时给你的是 demo,这两个半月做的是 demo 允许你无限期推迟的所有决定。
为什么要做这个东西
现实生活的反馈要延迟五年才到账。你埋头好几个月,没有任何证据表明这些努力在累积,而我总是在这个空档里放弃自己。你一直在升级,只是看不见。Hotari 是那面镜子。
补几个前面没讲到的细节:史官有八种语气可选,从暖心导师到专门损你的毒舌损友。你可以立下长期愿景,「先知」会描绘你正在走向的那个未来的自己。以及,全程没有连续打卡,没有断签惩罚。消失一周回来,app 不会骂你,史官接着写你的故事。
七天免费,不用绑卡:hotari.app。哪里坏了、或者史官说了蠢话,请告诉我。每一条我都会看。