我为什么做这么多 App

outlier 13 分钟 5149 字 2 0

一、先回答那个总被问到的问题

朋友看我的手机桌面,总会问一句:你怎么做了这么多 App?

早点睡觉、烤鸭英语、钱钱记账、亚欧非大环线、练伴……看起来杂乱无章,睡眠、英语、记账、旅行、健身,横跨五个八竿子打不着的领域。做产品的人都说要聚焦、要垂直、要深耕一个赛道,而我像是在到处挖坑。

但如果你把这些 App 排成一条时间线,你会发现它们不是五个产品,而是同一个人在不同人生阶段遇到的五道坎。每一道坎,我都没有绕过去,而是就地造了一把梯子。

这些 App 不是我的产品线,是我的技能树。

大模型有一个词叫 skill:把一段反复用到的能力封装起来,需要的时候直接调用,不用每次从头想。我做的事情本质上一样。我把自己在某个问题上撞得头破血流之后总结出来的方法,封装成一个可以点开就用的东西。区别只在于,大模型的 skill 是一个文件夹,我的 skill 是一个 App。

mindmap root((我)) 早点睡觉 早睡提醒 App 禁用 睡眠森林 睡眠调整计划 睡眠代价 倒扣手机入眠 烤鸭英语 词汇血泪本 口语题库 写作复盘 钱钱记账 旅途快速记账 多币种 AA 分账 亚欧非大环线 路线编排 听背景故事 攻略压缩 练伴 动作记录 进步曲线 训练指导

二、早点睡觉:一个人和自己黑夜的抗争史

这是我做的第一个 App,也是最能说明"为什么"的一个。

我不是不知道要早睡,我是做不到。凌晨一点,手机屏幕的光照在天花板上,我知道明天八点要起,知道晚睡对身体不好,知道这一切,然后继续刷。知道和做到之间,隔着一整条银河。

所以"早点睡觉"不是一个产品规划出来的功能列表,它是一部逐步升级的军备竞赛,对手是我自己。

第一阶段:早睡提醒

最朴素的想法:到点提醒我。十一点弹一条通知,"该睡了"。

我以为够了。结果是我看见通知,手指一划,继续刷。提醒只解决了"忘了"的问题,但我从来没有忘,我只是不想。提醒对抗的是遗忘,而我的敌人是意志力。

这个阶段留给我最重要的一课:软的手段对付软的问题,硬的手段对付硬的问题。 晚睡是硬问题。

第二阶段:App 禁用

于是升级:到点之后,把那几个偷走我夜晚的 App 直接锁住。短视频、社交、新闻,统统进黑名单。想打开?先看一屏"你现在应该在睡觉"。

这一版效果明显好于第一版,但我很快发现自己的狡猾:黑名单里的锁住了,我就去开不在黑名单里的;再不行就直接开浏览器。人在对抗自己的时候,会把所有漏洞都找出来。

这一阶段让我意识到:禁止只能拦住行为,拦不住动机。 只要"躺着刷手机"本身还是一件轻松愉快的事,我总能找到替代品。

第三阶段:睡眠森林

所以第三版换了思路,不再只做"堵",开始做"引"。

倒计时开始,一颗种子种下去;坚持到天亮不动手机,它长成一棵树;中途拿起手机,树就枯了。一晚上一棵,一个月下来就是一片森林,或者一片焦土。

它不比前两版更"聪明",但它做对了一件事:把一件抽象的、只有远期收益的事(早睡),变成一件具体的、当晚就能看到结果的事(这棵树活不活)。 人对损失的厌恶比对收益的渴望强烈得多。我舍不得那棵树。

timeline title 早点睡觉的三次升级 第一阶段 : 早睡提醒 : 解决"忘了" —— 但我没忘,我是不想 第二阶段 : App 禁用 : 解决"手滑" —— 但堵得住行为,堵不住动机 第三阶段 : 睡眠森林 : 解决"没感觉" —— 把远期收益变成今晚的损失 下一阶段 : 睡眠调整计划 / 睡眠代价 / 倒扣手机入眠 : 从"当晚不刷"走向"长期节律"

接下来要做的:从战术到战略

前三版都是在解决"今晚怎么不刷手机",是战术层。但我的睡眠问题从来不是某一晚的问题,是节律的问题。所以后面三个功能,是往战略层走:

睡眠调整计划。 一个长期熬到两点的人,不可能明天就十一点睡着。身体有惰性,需要一个梯子:每三天把入睡时间提前十五分钟,配合固定起床时间,用两三周把节律整个挪回来。这是把"想早睡"变成"一张可以执行的日程表"。

睡眠代价。 我想让晚睡的代价变得看得见。不是道德说教,是数字:这个月你比计划晚睡了多少小时,折算成多少个白天的低效状态,多少次白天补觉。当抽象的"对身体不好"变成一张有具体数字的账单,它才会真的被大脑当成一件事。

倒扣手机入眠。 这是我发现的一个物理学意义上的好办法:把手机屏幕朝下扣在床头柜上。App 通过传感器识别这个姿态,扣下去计时开始,翻过来计时中断。它比任何软件锁都彻底,因为屏幕朝下的手机,就是一块没有诱惑的砖。最好的自控,是让诱惑物理上不可见。

为什么这一段要写得这么长

因为它是所有后面这些 App 的原型。

不是"我有一个想法,然后做了一个 App",而是"我有一个自己都解决不了的问题,然后一版一版地和它较劲,每一版都是上一版失败之后的结论"。App 里的每个功能,都对应着我某一次失败的具体形态。这就是为什么我说,它是我个人的 skill:它把我关于"如何早睡"的全部试错,蒸馏成了一个可以调用的东西。


三、烤鸭英语:一场考试留下的血泪本

准备雅思的那段时间,我用过市面上几乎所有的英语 App。它们都很好,词库很大、课程很全、UI 很漂亮,问题只有一个:它们不知道我在哪里疼。

我背单词,同一个词错第五次,App 只会再给我看一遍。我练口语,Part 2 卡在同一个话题上三次,App 不会记得。我写作文,每次都在同一个语法点上被扣分,但没有任何一个工具会把这件事指出来。

所以烤鸭英语的核心不是词库和课程,是我的错题。

  • 血泪本:不是生词本,是"错过三次以上的词"。一个词只有反复让我丢脸,才有资格进这个本子。
  • 口语话题的个人档案:每个 Part 2 话题,记录我说过几次、每次卡在哪里、哪个表达是临场编的。下次抽到同类话题,先看自己上次怎么摔的。
  • 写作复盘:同一个语法点被批改标出两次以上,自动进入"惯犯清单"。考前不看范文,看惯犯清单。
flowchart LR A[做题 / 练习] --> B{错了?} B -- 否 --> A B -- 是 --> C[记入个人档案] C --> D{同一处
错 ≥ 3 次?} D -- 否 --> A D -- 是 --> E[进入血泪本 / 惯犯清单] E --> F[考前只复习这里] F --> A

它的用户逻辑很简单:通用工具优化的是"平均学习者",而我不是平均值,我有自己的疼点分布。 烤鸭英语就是围绕这个分布做的。它能服务别人,不是因为它比大厂的产品全,而是因为每一个备考的人,都有一张属于自己的疼点地图,只是大多数工具不给他们画的地方。


四、钱钱记账:出去玩的时候,我只想三秒钟记完

市面上的记账 App 都很强大,强大到我在旅途中根本不想打开。分类、账户、预算、标签、周期、报表,每一样都有道理,但我站在一个陌生城市的路边摊前,手里拿着一份刚买的小吃,只想干一件事:记一笔,然后接着走。

钱钱记账的所有设计,都围绕"旅途中的三秒钟":

  • 打开即输入,数字键盘直接弹出来,不选分类也能存。
  • 多币种是默认而不是设置,进入一个新国家自动切汇率,回国之后一键汇总成本币。
  • AA 分账是一等公民,几个人一起出去,谁垫了钱、谁欠谁多少,行程结束的时候一张表算清,不用再翻聊天记录。
  • 地点自动挂上去,回头看账单,就是一条用花钱串起来的行程线。

它诞生的场景决定了它的形状。我不需要一个财务系统,我需要一个不打断旅行的小本子。


五、亚欧非大环线:做攻略做到吐之后的产物

规划一条穿越亚欧非的长线,我在做攻略的过程中经历了一个从兴奋到麻木再到想吐的完整周期。几十个城市、上百个景点、几百个网页、无数条互相矛盾的评价。攻略做到后面,我已经分不清哪座教堂是哪座,为什么这个博物馆值得去,那段古城墙的故事到底是什么。

这个 App 解决两件事。

第一件是压缩。 把一条大环线拆成段,每段拆成城市,每个城市只保留真正值得的几个点,其余的全部砍掉。攻略最大的问题不是信息少,是信息多到淹没决策。

第二件才是我真正想要的:听背景故事。

我不想站在一个古迹前面低头看手机上的文字。我想戴着耳机,走到它面前的时候,有一个声音开始讲:这里发生过什么,谁在这里做过什么决定,为什么它今天是这个样子。历史不是资料,是故事;旅行的意义不是打卡,是在那个地方,听懂它。

这个功能完全来源于我自己的需求:我做攻略做到吐,恰恰是因为我在乎那些故事,不肯只是路过。

flowchart TD subgraph 做攻略的地狱 A1[几百个网页] --> A2[信息互相矛盾] A2 --> A3[分不清哪座教堂是哪座] A3 --> A4[做到想吐] end A4 --> B[亚欧非大环线] B --> C1[路线压缩
只留值得去的] B --> C2[听背景故事
走到跟前, 耳机里开始讲] C1 --> D[抬头看世界] C2 --> D

六、练伴:在杠铃之间想出来的问题

健身房里两组之间的休息时间,是我思考最多的地方。

我发现自己有几个反复出现的困惑:上周这个动作我推了多重?这个月我到底有没有进步?今天的训练量够不够,还是又在做无效的重复?我的动作选择是不是在补短板,还是一直在练自己擅长的那几块?

这些问题,靠脑子记是记不住的,靠备忘录记是没法分析的。练伴就是在这些两组之间的空当里,一点一点想出来的。

它做三件事:

  • 记录,尽量快,一只手撑在器械上就能录完一组的重量和次数。
  • 看见进步,每个动作一条曲线,不是为了炫耀,是为了在平台期告诉自己"你不是没进步,你是进入了下一个阶段",或者诚实地告诉自己"你已经三个月没涨了,该换方法了"。
  • 指导训练,基于历史记录给出下一次的建议:这个动作该加重了、这个肌群本周训练量不足、这两个动作你总是连着做导致后一个做不动。

它叫练伴,不叫训练管理系统,因为我想要的不是一个管理者,是一个记得我所有历史的搭子。一个人的进步,往往是被自己忽略掉的,因为每天都在原地,看不到走了多远。 练伴负责替我记住。

flowchart LR A[一组做完
单手记录] --> B[(训练历史)] B --> C[进步曲线] B --> D[训练量分析] B --> E[下次训练建议] C --> F[下一次训练] D --> F E --> F F --> A

七、把它们放在一起看

单个看,它们是五个领域的五个 App。放在一起看,它们共享同一条骨架。

flowchart TD A[我遇到一个自己解决不了的问题] --> B[市面上的通用工具帮不到我的疼点] B --> C[我自己试错, 一版一版地失败] C --> D[把失败的结论封装成一个功能] D --> E[这些功能加起来, 就是一个 App] E --> F[App 是我关于这个问题的全部经验的蒸馏] F --> G{别人有同样的问题吗?} G -- 有 --> H[App 开始服务他人] G -- 没有 --> I[至少它服务了我] H --> J[他人的反馈让蒸馏更纯] J --> D
App我当时的处境通用工具的缺口被蒸馏出来的核心
早点睡觉知道要早睡, 做不到只提醒, 不对抗意志层层升级的自控机制
烤鸭英语备考, 在同样的地方反复摔服务平均学习者, 不记我的疼点个人错题的血泪本
钱钱记账旅途中路边摊前功能太多, 记一笔太重三秒钟不打断旅行
亚欧非大环线攻略做到想吐信息淹没决策, 只有文字压缩路线 + 耳机里的故事
练伴两组之间不知道自己是否进步能记, 不能分析, 不能指导记得我所有历史的搭子

五个 App,同一个模式。这不是巧合,这是我的做事方式。


八、我是第一个用户

这个模式能一直转下去,靠的不是热情,是一条很朴素的规则:每一个 App,我都是它的第一个用户。

这句话听起来像一句漂亮话,但它是有代价的。它意味着一个 App 能不能活下来,第一道审判不来自市场,来自我自己的日常。

如果早点睡觉真的让我睁眼时天亮了,我就会继续打磨它:它哪一步让我烦了,哪个提醒来得太早,哪棵树死得我不服气,这些细节我不用做用户调研,我每晚都在经历。等它在我身上跑顺了,我再把耳朵转向外面,听别人说他们的黑夜是什么样的,跟我的哪里不一样。外部的声音很重要,但它是第二道声音,第一道永远是我自己用不用。

而如果一个 App 对我没用呢?那我只能去掉它。不是"暂时搁置",是承认它没有解决那个问题,然后把它拿掉。这一点上我对自己很不客气,因为一个我自己都不打开的 App,凭什么让别人打开。它可能是个好点子,但好点子不是好工具;工具的唯一标准是有没有人在用它,而第一个被检验的人,就是我。

所以在每一个 App 上,我同时是三个人:

  • 我是体验者。 我每天都在用它,所有的不顺手第一时间打在我自己身上,没有中间层,没有转述,没有"用户反馈说"。
  • 我是开发者。 体验到的每一处别扭,我当晚就能改。从发现问题到修复问题之间,没有排期、没有评审、没有等下一个迭代周期。
  • 我是负责者。 它好,是我用出来的;它不好,是我没做对,也是我来决定要不要砍。没有人可以替我背这个责任,也没有人可以替我做这个决定。
flowchart LR A[体验者
我每天在用] -->|不顺手, 第一时间感知| B[开发者
我当晚就改] B -->|改完, 继续用| A A -->|真的有用?| C{负责者
我来判决} C -- 有用 --> D[打磨 · 再听外部的声音] C -- 没用 --> E[去掉它] D --> A

三个身份压在同一个人身上,坏处是没人可以推,好处是动力永远不会断。

做产品最容易死的地方,不是没有想法,是做到一半不知道为谁做了。用户是抽象的,需求是文档里的,反馈是隔了三层的。而我不需要想象用户,我起床就是用户;不需要猜哪个功能重要,我今晚就会知道;不需要说服自己坚持,因为我自己的问题还没解决,我停不下来。

这就是为什么我可以做这么多 App 而不觉得累。每一个 App 都有一个永不流失的用户,就是我;只要这个用户的问题还在,这个 App 就有继续的理由。


九、蒸馏自己,服务他人

我把这件事叫做蒸馏自己。

蒸馏是把一大锅混杂的东西加热,让有价值的部分升华,再冷凝成纯的液体。我的每一个 App 都是这样:把一大堆散乱的失败、尝试、灵光一现、深夜的懊悔,加热,让真正有用的东西升上来,冷凝成几个功能。做完之后,我自己也变了:我更懂睡眠是怎么回事,更懂自己英语的短板在哪里,更懂一次训练的价值该怎么衡量。做 App 的过程,本身就是学习这项 skill 的过程。

而蒸馏出来的东西,有一个天然的副产品:它可以给别人用。

我从不假设自己是特殊的。恰恰相反,我假设我遇到的每一个问题,都有成千上万个人同样在遇到。他们也在凌晨一点看着天花板,也在同一个单词上摔第五次,也在路边摊前不想打开记账软件,也做攻略做到吐,也在两组之间怀疑自己有没有进步。我替自己解决问题的时候,顺手也解决了他们的。 这是唯一一种我相信的"用户洞察":我就是用户,我先疼过。

flowchart LR subgraph 蒸馏自己 A[散乱的失败与尝试] --> B[加热: 一版一版地做] B --> C[冷凝: 封装成功能] C --> D[我自己变得更懂这件事] end subgraph 服务他人 C --> E[同样疼过的人拿去用] E --> F[他们的反馈] F --> B end

十、所以,为什么要做这么多 App

因为我有这么多问题。

因为每一个问题,我都不愿意只是"知道",而想真的"做到"。

因为通用工具优化的是平均值,而没有人是平均值。

因为把一件事做成 App,是我学会这件事最彻底的方式。

因为我先疼过的地方,一定有别人也在疼。

因为每一个 App 都有一个不会流失的第一用户,他既是体验者,也是开发者,也是负责者,所以它们的动力从来不需要外部供给。

这些 App 之间没有一条商业逻辑的线,但有一条人的线:它们全部指向一个想把自己活得更清楚、更有掌控感的人。我不是在做一个产品矩阵,我是在给自己长技能树,然后把每一项长出来的技能,都留一份给后面路过的人。

等哪天有人再问我为什么做这么多 App,我大概会说:

这不是很多 App。这是一个人,把自己一点一点写成了代码。

评论

还没有评论,来说点什么吧。

发表评论

Ctrl + Enter 快速提交
Enter 搜索Esc 关闭