27 天,我一个人做了台装在手机里的冰箱
7月5日第一个 commit,8月1日上架。中间 47 次提交、43918 行 Dart 代码。这是连载第一篇。
7 月 5 日晚上,我敲下了第一个 commit,message 是 feat: initialize Flutter project。
8 月 1 日,「吃好饭」在 App Store 上架。
中间隔了 27 天、47 次提交、43918 行 Dart 代码。没有团队,没有融资,没有产品经理跟我吵架。只有一个我,和一台经常在半夜跑不动模拟器的 Mac。
这是一个连载的第一篇。我打算把这件事从头到尾写清楚:为什么做、怎么定价、架构怎么选、被苹果打回多少次。今天先讲最开头的部分。
起点是一根烂掉的芹菜
我下班到家一般是八点半。
流程是固定的:打开冰箱,站着,看三十秒,关上,掏手机点外卖。
第二天、第三天,重复。
大概一周之后,我在冰箱最里层翻出来一把芹菜,叶子已经黄成半透明了。买它的那天我是有计划的——我想做个芹菜炒肉。计划在下班回家的那三十秒里蒸发了。
这个循环我过了很多年。它不是「我懒」这么简单。
真正卡住我的是那三十秒里发生的事:我打开冰箱,看到的是一堆互相之间没有关系的东西。半盒鸡蛋、两根胡萝卜、一袋不知道什么时候买的豆腐、三个西红柿。我大脑里没有一个函数能把它们映射成一道菜。
于是我放弃了。放弃的成本是三十块钱外卖,加上一周后那把芹菜。
我要解决的不是「菜谱」,是「决策」
想清楚这件事花了我挺长时间。
市面上做吃饭这件事的 App,大致分两类。
一类是纯菜谱。搜「番茄炒蛋」,给你一百个做法。问题是它不知道你家有没有番茄。你搜到的每一道菜,都可能是一次「哦,家里没有」。
另一类是纯记账。记录你今天吃了什么、花了多少、多少卡路里。它是事后的,它管的是已经发生的事。
两边都没人管中间那一段——冰箱里到底有什么,所以今晚应该吃什么。
这才是真正的决策点。它发生在你站在冰箱前的那三十秒里。
所以「吃好饭」的整个结构是倒过来的:不是从菜谱出发找食材,而是从你现有的库存出发,反推出今晚能吃什么、还缺什么、周末要买什么。
冰箱是源头。菜谱是结果。买菜清单是差值。

27 天,我是按什么顺序做的
一个人做产品,顺序就是最大的战略。我把关键节点摘出来讲讲,每个都说一句「为什么是这时候」。
07-05 项目初始化 + 一键清空数据
第一天就做「一键清空所有数据」,看着很奇怪。
但我知道接下来一个月我要反复造假数据、反复推翻数据结构。没有清空按钮,我每天要花十分钟手动删。这是给自己修的路。
07-06 自定义菜谱 + 冰箱贴收集
内置了 300 道中式家常菜谱之后,我立刻做了自定义菜谱。因为我很清楚 300 道盖不住所有人的口味——南方人和北方人对「家常菜」的定义能差出一个省。
冰箱贴是当天顺手做的,一个收集玩法。当时只是觉得好玩,后来它变成了积分体系的出口之一。
07-07 引导流程与冰箱管理 / 海报分享
同一天做了两件事:新手引导,和海报分享。
引导是因为我把 demo 给朋友看,他打开之后第一句话是「所以我现在要干嘛」。空冰箱是最劝退的启动界面。
07-09 小票拍照识别
这是整个项目最关键的一次转折。
在这之前,录入食材全靠手动。我自己用了几天,发现我根本坚持不下来——买完菜回家还要在手机上一样一样点,谁受得了。
录入门槛不解决,后面所有功能都是空中楼阁。
07-10 数据导出导入 / 07-11 iCloud 备份
家里的冰箱不是一个人的。我老婆买的菜,我得能看到。
但我没有服务器(这个决定我会在第三篇专门讲),所以只能做导出同步码 + iCloud 备份这条路。这条路很笨,但它是我在「不建服务器」这个前提下能想到的最实在的方案。
07-17 内购服务与 Pro 付费墙
第 13 天开始想钱的事。
我见过太多独立开发者把商业化留到最后,然后发现整个数据结构里根本没有「用户买没买」这个概念,返工返到吐。
付费墙怎么划的,第二篇会详细拆。
07-23 Context 工程四阶段
记忆、摘要、分层组装。
这是我自己最满意的一块。因为我没有后端、模型是用户自带的,AI 到底聪不聪明,不取决于模型多大,取决于我给它喂什么。这块也留到第三篇。
07-29 AI 食谱生成接入真实 LLM
说个不太好听的事实:在第 25 天之前,「AI 食谱」跑的是我写的本地规则拼装。
不是骗人——那时候还没上架。但顺序上我确实排错了。我应该更早接真实模型,因为真接上之后我发现,规则时代打磨的很多东西(比如约束的表达方式)需要重写。
07-31 华为 AppGallery 支持 + 应用内更新检查
上架前两天。Android 那边渠道太碎,我得提前把更新检查做进去,不然以后没法推。
它现在长什么样
六个模块,每个一句话。
个人档案中心。 家里几口人建几份档案,各自的忌口、过敏、基础代谢分开算,不混在一起。
可视化虚拟冰箱。 冷藏冷冻保鲜常温四个分区,拟物排布,能拖着整理,食材临期按红黄绿三色预警。
AI 智能食谱。 三重约束生成:库存优先 → 预算硬约束 → 忌口硬过滤,可以出单日、三日或一周的食谱。
自定义采购清单。 排完餐,缺口自动汇总成清单,实时算预算,超了会给平价替代方案。
记账复盘。 四个分类自动记账,日报周报月报,附带营养分析。
游戏化成长。 养一只叫青团团的小团子,好好吃饭打卡喂它「团气」,它会长大、会进化。它有几个状态的动画,会自己在屏幕上走来走去。

青团团这块我只说到这。它是整个 App 里我最不想过度包装的部分——一只小团子而已,你养着就知道了。
我没想清楚的地方
按规矩,说一个。
录入这件事,我到现在也没解决好。
小票拍照识别能覆盖超市场景。但很多人买菜是去菜市场的,散装、没有小票、老板不给条。食材拍照识别对光线和摆放也挑。
也就是说,一个「以库存为中心」的产品,它的库存来源本身还是有摩擦的。这是这个产品设计上的原罪,我现在只能靠降低单次录入成本来缓解,没有根治。
另外,43918 行代码不是什么勋章。一个人 27 天写出这个量,意味着里面有大量的复制粘贴和临时方案。我心里有一张挺长的债务清单。
接下来会写什么
这是第一篇。后面已经排好的:
- 第二篇:我给这个 App 定价 ¥18,算了三笔账。 为什么不是 17.99,为什么不做订阅,付费墙凭什么这么划。
- 第三篇:我做了个不联网的 AI App,0 台服务器是怎么办到的。 也会诚实讲代价。
- 再往后:被苹果打回的那些坑、海外定价怎么铺、上架第一个月的真实数据。
我会把能公开的都公开,包括那些不好看的。build in public 如果只 build 好看的部分,那就是发广告。
吃好饭 iOS 已上架,App Store 搜「吃好饭 AI冰箱」。iPhone / iPad 都能用。
这个系列会一直写下去,欢迎在留言区骂我。
官网:https://ai-chen2050.github.io/chihaofan 有问题直接发我邮箱:blake.chen94@gmail.com