一家之计

一家之计开发手记:一个人,想把"家里的事"接住

2026-09-22 · 家庭协调系列 · 第 3 篇

一家之计 · 千头万绪,一家之计

这个产品的起点不是技术,而是一句话:"我不是帮你做了吗?"这句话我听过太多次,每次听完都觉得哪里不对。后来我想明白了:不对的地方在于,家里真正累人的那份工作,从来没被算作工作。

先做调研:这件事到底有没有人做

动手之前,我把国内外能找的家庭协调类产品扒了一遍,结论比预想的更清晰:

把这几条叠在一起,我找到了那个空着的交集:会议/聊天信息的自动提取 × 家务与心理负荷的公平轮换 × 按路程倒推的出发提醒。三件事单独看都有人做,三件事一起做的,没有。

一个重要的"不做":不做全能家庭 AI

调研里最有价值的一条教训来自 Milo:一个试图把所有家庭场景都包进来的"全能家庭 AI",最终因为摊子铺得太大而收场。

所以从一开始我就给自己划了边界。这个 App 只做三件事:

  1. 接信息——把散在各处的通知、交代、传单接进来;
  2. 落责任——每件事明确归谁,家务按周期自动轮换;
  3. 到点喊——按"事情时间 − 路上时间 − 提前量"算出该出发的时刻。

不社交、不做家庭相册、不做智能家居中控、不做家庭财务。看起来克制,但这三条恰好覆盖了绝大多数家庭矛盾的来源。

名字的来历

定名时最纠结。要求是:要体现"家务协调",要朗朗上口,还得有文化根子。

主推过「齐家」,出自《礼记·大学》的"修身齐家治国平天下",格局够大,但两个字稍显古雅。也考虑过「众擎」(众擎易举,家务不独担)和「一家之计」。

最后选定的是「一家之计」——《增广贤文》里那句"一家之计在于和,一生之计在于勤"。前半句正好是产品想做的事:让家里的事分得清楚,心才不会有积怨,和才立得住。slogan 顺势定为"千头万绪,一家之计"。

技术选择:能端侧做的,绝不放到云上

产品形态是原生安卓(Kotlin),依赖尽可能压到最少。核心的两个能力都做在端侧:

有两条设计细节我花了比较多时间:一是家务轮换,家务型事项可以设每天/每周/每月,完成时自动把归属人轮给下一位,并复制生成下一次;二是出发时间倒推,提醒文案写的是"该出发了 · 接孩子",通知栏上直接就能点"已完成"或"10 分钟后再提醒"。

8 个单元测试,抓出 2 个真实的 bug

拆解逻辑这种"看起来简单"的模块,最容易在最想不到的地方出错。所以我给它写了 8 个纯 JVM 的单元测试,离线跑,不依赖设备。

结果抓出了两个真实 bug,都不是我预想过的:

这两个 bug 如果不写测试,就会一直躺在代码里,直到某位用户看到"要带:妈妈"这种荒唐的输出。端侧小规则看起来朴素,但它对准确性的要求不比模型低。

从 41.1 MB 瘦到 2.18 MB

第一版为了做"截图里识别文字",引入了端侧的 OCR 库(ML Kit 中文识别)。功能是有了,包体也涨到了 41.1 MB——一个只做三件事的小 App,装到手机上比很多大型应用还重,这显然不对。

最后决定砍掉本地 OCR,改成:只有用户主动点"截图识别"时,才把这张图片发给云端视觉模型转文字。结果包体从 41.1 MB 掉到 2.18 MB,而且隐私边界反而更清楚了——因为不去点,图片就永远不会离开手机。

隐私红线:数据只存本机

一个申请了"读取通知栏"权限的 App,必须把数据去向交代得明明白白。这个产品的红线是:

做不到"零联网"是诚实的,但"不点不联网、原文不落地"是必须守住的。

诚实的边界与还没做完的事

我不想把边界藏起来。这些限制是真实存在的:

把这些写出来不是为了免责,而是因为一个家庭工具的信任,是靠"说清楚它做不到什么"一寸一寸攒起来的。

结语:小事,但要真的做成

家庭协调不是一个性感的方向。它没有大模型、没有炫技、做完了也不会有人惊呼。但如果它能让你家的"该出发了"第一次准时响起,能让家务的分担第一次被算得公平一点,那它就有存在的理由。

《增广贤文》说"一家之计在于和"。和不是忍出来的,是算清楚的。

千头万绪,一家之计。

下载一家之计 · 家庭协调助手
约 2.5 MB · 免费无广告 · 数据只存本机
📌 延伸阅读:为什么家里的事,永远只有一个人在操心?→
🏠 一家之计 · 家庭协调系列(共 3 篇)