惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
A
About on SuperTechFans
Vercel News
Vercel News
博客园 - 【当耐特】
爱范儿
爱范儿
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
H
Help Net Security
I
InfoQ
博客园 - 三生石上(FineUI控件)
博客园 - Franky
Microsoft Azure Blog
Microsoft Azure Blog
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
我做了一个能「抓你吃零食」的 App:SnackGuard 开发故事 - ...
2026-03-03 · via 少数派

引子

你有没有过这种经历:明明不饿,但就是会无意识地拿起零食?刷手机的时候吃、追剧的时候吃、工作无聊的时候吃。等你意识到的时候,一包薯片已经见底了。

我就是这样的人。试过很多记录饮食的 App,但问题是——你需要「已经在吃」才会想到去记录。这就像问一个梦游的人「你有没有在梦游」。

所以我决定自己做一个。不是让你记录吃了什么,而是 在你吃之前提醒你

简单说:一个能感知你在吃零食的 iPhone + Apple Watch App。

它不计算卡路里,不扫描食物条码,不需要你手动记录。它通过传感器和行为模式来 自动检测 你什么时候在吃东西,然后发一条提醒问你:「你确定要吃吗?」

核心逻辑是:感知 → 提醒 → 选择 → 反馈

  • 感知:融合 6 种信号判断你是否在吃零食
  • 提醒:根据你选的风格(温柔/幽默/严格)发通知
  • 选择:你可以选「吃了」或「抵抗住了」
  • 反馈:抵抗了?给你一个独一无二的庆祝动画。吃了?引导你做一次正念反思

它怎么知道我在吃零食?

这是整个 App 最有趣的部分。

信号融合

App 同时运行两套检测引擎:

基础引擎(6 个加权信号):

  • 时间规律(30%):你是不是在平时容易嘴馋的时段?
  • 手机使用(20%):突然放下手机?可能腾出手来吃东西了
  • 位置学习(10%):又到了那个奶茶店门口?
  • 设备状态(10%):手机平放在桌上?

高级引擎(贝叶斯融合):

  • 基于每个信号的历史准确率自动调整权重
  • 加上 Apple Watch 的加速度计特征(均值、标准差、RMS、过零率等)
  • 上下文增强:多个信号同时触发时可信度 +15%
  • 不确定性 > 0.7 时不触发,避免误报

Apple Watch 的秘密武器

Watch App 用 10Hz 采样率持续收集加速度计数据,然后做两件事:

  1. 检测手腕抬起 — pitch > 0.5 意味着你把手抬到嘴边了
  2. 进食手势识别 — 手臂在特定高度保持 0.5-3 秒的反复动作

这些数据被送入 CoreML 模型做分类,加上心率是否比基线升高(吃东西时心率通常会微微上升),最终结果发给 iPhone 做融合判断。

三种提醒人格

检测到零食行为后,提醒的语气取决于你选的风格:

  • 温柔型:「在吃东西吗?记录一下,我帮你追踪哦~」
  • 幽默型:「逮到了!偷吃零食?快从实招来!」
  • 严格型:「报告!检测到进食行为。立即记录。」

Watch 检测到的还会有专属提醒:「你的手腕出卖了你——那个往嘴边送的动作被我抓到了!」

让抵抗变得上瘾

我认为大多数习惯养成 App 的问题在于:抵抗诱惑本身没有即时奖励。你忍住了没吃,然后呢?什么都不会发生。

SnackGuard 的做法是:每次抵抗都是一次独一无二的庆祝。

1250 亿种庆祝组合

每当你点下「抵抗住了」,会出现一个全屏庆祝页面:

  • 250 种颜色 × 250 个图标 × 200 个标题 × 200 条消息 × 50 种装饰 = 超过 1250 亿种组合
  • 支持陀螺仪驱动的 3D 倾斜效果——倾斜手机,庆祝卡片会跟着动
  • 可以拖拽旋转、点击翻转
  • 动态全息高光跟随设备方向移动

还有情境感知的消息:

  • 深夜抵抗:「这个点还能忍住?太强了!」
  • 每 5 次抵抗里程碑:「你已经抵抗了 50 次!」
  • 下雨天:「雨天还能坚持?额外意志力加成!」

533 个成就

8 大类别,5 个稀有度等级:

类别数量举例
连续天数279从第 1 天到第 1825 天(5 年!)
意志力84抵抗 1 次到 1000 次
改善趋势48周减少 50%、月零零食
时间特殊25早鸟、夜猫子
里程碑32使用 365 天
特殊成就34反思相关、饥饿觉察
季节限定21春节、圣诞节
挑战107 天/30 天极限挑战

稀有度从灰色(普通)到金色(传奇),真有种收集卡牌的快感。

数据分析

Stats 页面提供:

  • 每周柱状图:哪天吃得最多?
  • 进食原因分布:无聊 vs 压力 vs 馋嘴 vs 习惯...帮你发现模式
  • 零食热点地图:MapKit 驱动,哪里吃得最多一目了然
  • 风险时段预测:基于历史数据预测你接下来什么时候最可能嘴馋

设计细节

作为一个独立开发者,我花了很多时间在视觉体验上:

  • Liquid Glass 风格:毛玻璃 + 光晕 + 边缘高光,整体是深绿色霓虹(#0DF259)的暗色主题
  • 7 种氛围粒子效果:星光闪烁、萤火虫、樱花飘落、流星划过、极光波动、气泡上升、黑客帝国代码雨
  • 天气实时联动:下雨天 App 里会下雨,下雪天会飘雪
  • 氛围背景:根据时间、零食进度、天气动态变化的极光渐变背景

隐私

这是我特别在意的一点:

  • 零数据收集 — 没有任何数据发送到服务器
  • 无需注册账号
  • 无第三方 SDK(没有 Firebase、没有 Analytics)
  • 无广告
  • 所有数据存在本地 UserDefaults + 可选 iCloud 同步

技术栈

技术用途
SwiftUI全部 UI
CoreMotion加速度计、陀螺仪数据采集
CoreML进食手势分类模型
WatchConnectivityiPhone ↔ Watch 双向通信
HealthKit心率数据读取
CoreLocation位置学习
MapKit零食热点地图
NSUbiquitousKeyValueStoreiCloud 同步
WidgetKit桌面和锁屏小组件

商业模式

免费使用核心功能(每日 3 次检测、记录、成就)。Premium 订阅解锁:

  • 无限 AI 检测
  • 深度数据分析
  • 自定义风险时段
  • 天气粒子效果

提供月付($0.99/月)和年付($6.99/年,含 7 天免费试用)。

下载

App Store: https://apps.apple.com/app/snackguard/id6759090954

支持 iPhone(iOS 16+)和 Apple Watch(watchOS 10+),33 种语言。


SnackGuard 由独立开发者 Runcong Wan 开发。如果你也是个控制不住自己嘴的人,试试看?