塾饭

标题: 记了 10 年账,我还是决定自己 Vibe Coding 一款记账 App [打印本页]

作者: TechShare    时间: 昨天 09:30
标题: 记了 10 年账,我还是决定自己 Vibe Coding 一款记账 App
最新消息:
Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


https://www.xyfan.com/data/attac ... 25c6a2a6cbff7ec.png

在项目刚开始的时候,AI 就非常明确地说不建议做,因为记账这个赛道红到发黑😂,产品五花八门,功能大同小异,而且用户迁移成本巨大——大部分人不会因为你是新 App 就抛弃用了好几年的记录。更何况我自己在用的记账 App,在功能层面已经完全满足需求了。

但我还是做了。因为记了 10 年账之后,我发现了一些现有 App 都没有解决的问题。这些问题不是「功能缺失」,而是「记了这么多数据,然后呢?」这也是我决定自己做一款记账 App 的初衷。


https://www.xyfan.com/data/attac ... e807f820aac905d.png

记账的起点是大学。当时我每个月的生活费都不够花,频繁向家里要钱又很不好意思。其实我的生活费在同学当中不算少,只是我自己大手大脚、没有规划。为了改善这种情况,我开始记账,初衷很朴素:至少别再月光,能攒下一点钱。这一记就记到了现在,早已变成了一种习惯。

记账让我知道了每一笔钱都去了哪里,但也给了我一种「记下了就尽在掌控」的错觉。实际上,我并没有因为记账而改变消费习惯,入不敷出的情况时有发生,甚至在毕业后还出现过向朋友借钱还信用卡的糗事。


https://www.xyfan.com/data/attac ... 2dbe886cd2a1a14.png

先说第一个问题。我最初记账是事无巨细的,一瓶水、一次地铁都单独一笔,账户也按银行卡一张张分开。数据看起来很完整,但复盘的时候特别琐碎,一个月下来根本看不出什么,久而久之就懒得看了——记了那么多,最后没起到任何作用。

分类之所以一路这样变,是因为我发现自己看账的时候真正想回答的只有一个问题:如果我想省钱,哪些消费是可以砍的?答案是「聚餐」而不是「午餐」。交通同理,我现在只分「交通」和「打车」——「交通」是刚需,「打车」是可以选择不打的。


https://www.xyfan.com/data/attac ... d8b6ac69b678ce0.png

现在回头看,「哪些可以砍」这个问题其实已经在往 FIRE 的思路上走了:只有把支出按性质拆开,你才知道自己的储蓄率还有多少空间可以提高。这些思考后来也直接影响了我做产品时的分类设计。

但说实话,记账本身并不会帮你省钱或者多存钱。它的价值全在后续的分析——设预算、看趋势、找到可以优化的地方,然后真的去执行。如果只是记完就扔在那里,那记账其实就只停留在了记录。也就是说,「记什么」我想明白了,「记下的账要怎么用」依然没有答案。


https://www.xyfan.com/data/attac ... a4e56aa3098cb2f.png

记账方法论越来越成熟,在用的 App 功能也完全够用。如果不是那天突发奇想,我可能不会动手做自己的 App。

我把多年的账单导出发给了 AI,让它帮我分析消费趋势,AI 也确实给出了很多有价值的消费指导和建议——「记下的账要怎么用」这个问题,好像第一次有了答案。


https://www.xyfan.com/data/attac ... 924b79a4d076b78.gif

但问题是,如果我想持续获得这种分析,就得反复:导出 → 下载 → 发给 AI,流程非常割裂。

整个 App 的框架建立在 FIRE 之上:记账的终点是财务自由,所有功能都围绕「离这个终点还有多远」来设计。下面先讲从 FIRE 长出来的几个核心功能,再统一说说其他的。


https://www.xyfan.com/data/attac ... 44e231a6ccb5648.jpg

首页会展示距离 FIRE 的日期。当你记录每一笔消费,可以直接看到日期的变化——虽然消费已经发生了,但这种即时反馈会让你对花钱这件事有更直观的感受。

前面说的「按性质分类」的思路,直接变成了产品的分类体系。我把消费分成了固定支出、必要支出、弹性支出和其他支出四类,每一类在 FIRE 计算模型里都有明确的角色:固定+必要是 Lean FIRE 的基数,弹性支出是你能优化的主战场。


https://www.xyfan.com/data/attac ... 04b1da1abd2d41d.gif

所以自定义分类也必须映射到一个 FIRE 角色——你可以随便改名字、换图标,但必须回答「这类钱在你的自由计算里算什么」。当然,在这个框架内你也可以按自己的需求细分。比如我就单独拆了「个人提升」和「旅游」两个一级分类,虽然本质上都属于弹性支出,但这两块对我来说花费大、值得单独追踪,混在一起就看不出各自的趋势了。

FIRE 解决的是「没有目标」,另一个痛点「预算没用」,我用自动预算来解决。之前手动算预算的痛苦在于每次都得拉表格,所以这次干脆让 App 从历史数据里直接算出来。几个关键的设计决策:


https://www.xyfan.com/data/attac ... 82d5ea785fd4b12.jpg

说实话我一直觉得预算就是个参考,我自己也经常超。但有预算至少能看到消费曲线,心里有个概念,不至于完全随性。

除了上面这些围绕 FIRE 的设计,还有几个功能来自我日常记账时遇到的具体问题。


https://www.xyfan.com/data/attac ... 1e15968bf214586.png

个人判断这是一个未来可能所有数据类产品都会做的事。AI 最擅长的就是处理和分析已有数据,而记账 App 天然坐拥大量结构化的个人财务数据。上面提到的这些功能不依赖 AI 就能实现,AI 后续可以作为进一步的增强——消费趋势分析、异常支出提醒、个性化的财务建议等。目前在关注苹果提供的端侧 AI 能力,计划后续接入。

以下是我在 Vibe Coding 过程中总结的一些感悟,纯非技术出身的体会,如果有不对的地方欢迎大家补充和纠正。


https://www.xyfan.com/data/attac ... 4f3db33470d2cd4.png

一开始做的时候,每次 AI 输出了不符合我预期的结果,我都非常喜欢丢一张截图发给 AI 然后破口大骂:「你看这里对吗,你怎么老是乱做」。然后 AI 就会态度诚恳地开始道歉,然后改出一个更让我崩溃的结果。

实际用下来发现,只有一些模型比如 Claude Opus 4.6 会反问你「没看出来哪有问题」,但大部分模型都是二话不说直接改。问题在于大模型对图像的理解跟人完全不一样,我们一眼就看出来有问题的地方,在它眼里可能压根不是问题,你强行让它改,它可能给你改出一个更离谱的结果。


https://www.xyfan.com/data/attac ... 8d3513bc660fb19.jpg

所以跟 AI 沟通的时候一定要说清楚:圈出来哪里有问题,问题是什么,你想让它怎么改。如果你自己也不知道怎么改,可以让 AI 给你几个方案——但最好让它可视化地呈现出来,要不然光看文字描述很容易理解出偏差。

其实在 AI 时代之前,做 App 就得有设计规范来保持界面一致性,要不然看起来就像好几个不同的 App 拼在一起。到了 Vibe Coding 时代这件事更重要了,因为 AI 没有「全局审美」这个概念,它只管当前这个任务,不会自动跟其他页面保持统一。


https://www.xyfan.com/data/attac ... 047f2c459f7203c.png

否则 AI 会给每个新功能做一套新样式,最后拼凑在一起就是乱七八糟——卡片圆角不统一、图标样式种类繁多、字号也会越来越多。

这是我在开发 Coast 中发现的一件非常重要的事,因为 Coast 新加页面或功能模块非常频繁,特别离谱的是同一种类型的按钮都能写出来三种样式,我也是一边开发一边补规范,有时候忍不住回想要是一开始就把规范定好就好了。


https://www.xyfan.com/data/attac ... fb4b075b4be2fda.png

如果你还没学建议先学,学完你就能体会到这段内容的价值。

最直接的收益就是省 token。有时候额度用完了但急着 push,你会指令的话自己就能直接操作,不用干等着额度恢复。同样 Git 的分支概念也能帮你少踩很多坑,尤其产品上线后,你的测试版最好不要用主分支,至少不能影响线上的稳定性。


https://www.xyfan.com/data/attac ... 2709d397bcfe125.png

这个坑我是用真金白银踩出来的。之前一个跑了 7 天的对话,我在里面执行了一个任务,直接把 5 小时额度花了 78%,两个任务就花没了,一直到系统提醒时才发现。后来恢复额度问了 AI 才知道,因为这个对话的上下文太长了,每次交互都需要把之前所有的内容重新处理一遍,上下文越长消耗的 Token 就越多。所以建议做完一个阶段性任务就开新对话,可以在开启新对话之前让 AI 做一份交接文档,同时把设计规范、项目结构让 AI 先读取一遍,这样可以直接顺利开启下一阶段开发。

我现在维护 EON 的时候,基本上一个版本就开一个新对话,因为改动不大,一轮就能搞定。而 Coast 开发阶段改动比较多,我会按功能模块来划分对话——比如「做完 FIRE 页面」就是一个对话,做完就切新的,哪怕中间还有没聊完的话题。


https://www.xyfan.com/data/attac ... b094942bc3d08fc.png

我实际在用的是 Claude 写代码,让 Codex 出图。如果中途需要生图的任务,直接让 Claude 把需求写成一份任务描述,然后让 Codex 来读这个任务去执行,完成后直接跟 Claude 说那边做完了,它就会自动读取结果继续干活。这样大大省去了反复沟通的成本。

我让 Codex 产出了包括 EON 的人格测试图和 Coast 的 3D 分类图标,都是 Claude 下任务、Codex 执行、Claude 读结果这一套流程。


https://www.xyfan.com/data/attac ... f0a4e18f63dc356.png

同样还是为了省 Token,你最好让 Codex 先试跑几张图看看风格对不对,再执行完整的批量任务,要不然最后生出来的跟你想的差别很大,全白费了。

说实话,我在开发这两款 App 时几乎没用过别人的 Skill,但我总结了自己的。实际上我已经做了 5 款 App,打算推上架的是 3 款(另一款还在开发中)。之前试过用 PM 的 Skill 写需求文档,写出来倒是挺像回事的——明确定义了哪些功能做、哪些不做,按照真实项目的节奏规划了产品排期。但问题是你在开发的时候,大部分功能都是想好了要做的,结果做到一半突然被告知「这个在产品规划里不是当前优先级」,挺割裂的。


https://www.xyfan.com/data/attac ... 160d10a3c48e456.png

如果要用别人的 Skill,我个人感觉是你不知道这件事该怎么做的时候,可以参考别人的思路,学习它的设计方法,然后总结出一套自己适用的。

最后聊一点跟记账、跟 Vibe Coding 都关系不大,但我觉得比这两件事都更重要的体会。


https://www.xyfan.com/data/attac ... e2e4a339d6b304b.png

开发一款 App 不难,花钱买苹果开发者账户上架也不难,最难的是运营。

所以如何推广自己的 App,让别人知道你的产品是好的、是可以用的、甚至愿意付费——这是我在 Vibe Coding 之后需要持续学习和探索的方向。同时也是很多想加入开发大军的人应该提前想清楚的事:最好别头脑一热就上手做了一款 App,维护几个版本发现没人用就弃坑了。在动手开发之前,更应该先想清楚 App 怎么运营和推广。

少数派是我十多年来一直访问的社区,这篇算是新号的第一篇投稿,希望对正在记账或者想要 Vibe Coding 的朋友有所帮助。

另外,记账是一件非常个人化的事情,以上文章中的所有内容均是本人生活体验思考,相信每个人要解决的生活场景不尽相同,但仍希望能够对你有所帮助。

我目前开发的两款 App 均已上架 App Store,欢迎大家下载使用。

thisLeon;thisLeon;thisLeon

点击下方按钮可复制链接
(转载少数派)




欢迎光临 塾饭 (https://www.xyfan.com/) Powered by Discuz! X5.0