他花两小时,把 199 美元一年的 WHOOP 写成了开源版
Codez 取消了 WHOOP 的 199 美元年费,用 Opus 5.5 花两小时逆向工程了整个应用,做了个开源替代品 Pulsr,跑在 Apple Watch 上。无订阅,无账户,数据不出手机。
有人取消了 199 美元一年的 WHOOP 订阅,然后用 Opus 5.5 花了两个小时,做了一个自己的版本。
项目叫 Pulsr,开源在 GitHub 上。跑在 Apple Watch 和 iPhone 上,免费,无订阅,无账户,数据不出手机。
先补背景。WHOOP 是订阅制健康追踪服务,硬件不收钱,靠年费赚钱,一年 199 美元。核心是三件事:recovery(恢复分)、strain(负荷分)、sleep(睡眠)。每天早晨打开 App,看一个 0 到 100 的数字,决定今天该拼还是该歇。Apple Watch 本身有 HealthKit,能测心率、HRV、睡眠阶段,但没有 WHOOP 那套算法和界面。
Codez 做的事拆开看不复杂:把 WHOOP 的界面逻辑扒开,对应到 Apple Health 能提供的指标,再用 Swift 重新写一遍。
他在推文里附了完整 prompt。这个 prompt 本身值得看,因为做法比很多正经项目讲究。
第一步不是写代码,是映射。让模型逐张看 14 张 WHOOP 截图,列出每个功能,标上 Apple Health 里哪个数据能喂它,测不了的直接跳过。
第二步,引擎先于界面。所有评分写成纯 Swift 函数,不碰 SwiftUI,拿 60 天模拟数据跑一遍,确认数字像真人之后才开始做界面。
第三步,设计先于代码。做 4 个不同的视觉方向,每个方向有 iPhone 界面和 Apple Watch 表盘,放在一个 HTML 页面里挑,选定之后再写。
最后是验证:模拟器里每个界面跑一遍明暗两种模式,修完装到真机上。
功能清单:
- Recovery 0 到 100,基于夜间 HRV、静息心率、呼吸频率和睡眠表现,对个人 30 天基线做 z-score,前 7 晚向人群先验收缩
- Strain 0 到 21,用 Banister TRIMP 从分钟心率算,给出当天目标
- 今晚需要睡多久,以及建议就寝时间
- 压力监测、健康监测、身体年龄估算
- 一个记录习惯和恢复关系的 journal
- 设备端跑的 AI coach,不用 API key
- Apple Watch 应用,明暗两种模式
算法里有两个细节。
Recovery 用的是 ln(HRV),不是 HRV 原值,因为 HRV 分布偏斜。绿色 ≥ 67,黄色 34 到 66,红色小于 34。头 7 晚数据不够的时候会向人群先验收缩,这意味着第一周的数字不那么准,之后越来越像你自己。
睡眠需求 = 目标 + 昨天 strain + 睡眠债。睡眠债只算一次,不滚雪球。
还有个东西叫 orb。不用圆环,用一团光在发光的体积里流动,像 Siri,按静息心率跳动,颜色跟着恢复区变。先用 WebGL shader 做原型,再把同样的数学搬到 SwiftUI 的 Metal colorEffect。watchOS 没有自定义 Metal,就用 Canvas 画。
社区反应挺有意思。有网友问没有编程背景能不能装,需不需要 Mac。这个问题悬着,因为项目是开源的,装它需要 Xcode 和一台 Mac,免费 Apple ID 能用,但每 7 天得重新签名一次。有人问 recovery 分和 WHOOP 差多少,Codez 说非常接近。还有人问怎么装到 iPhone,回复里没人给出傻瓜教程。
这件事真正有意思的地方不在两小时。在于把 WHOOP 那套黑箱拆成可读的公式,写在 docs/ALGORITHMS.md 里,谁都能看,谁都能改。订阅制健康服务的壁垒,一半是硬件,一半是算法。当算法可以被一个有耐心的人用两小时重新推导,剩下的就只有硬件。
而 Apple Watch 早就戴在很多人手腕上。
发布时间: 2026-11-03 22:53