乐于分享
好东西不私藏

nnett-goose手撸一个健康APP

nnett-goose手撸一个健康APP

✨ 开发者必备神器来了

如果你也在做开发,这个项目能省你 80% 时间

亲测好用,强烈推荐给需要的朋友

自己撸个 WHOOP 健康数据 App:Goose 开源项目上手

WHOOP 手环用的人不少,但官方 App 的数据基本就是"给你看什么你就看什么"。最近有个叫 Goose 的开源项目火了,几天时间就拿到了 2,100+ ⭐——它做的事情很简单但很硬核:直接通过蓝牙连 WHOOP 5.0 手环,把数据拉到本地,自己跑健康指标。

它做了什么

Goose 是一个本地优先的 iOS 健康数据项目。你手上有 WHOOP 5.0 手环?打开 Goose 的 iOS App,蓝牙直连,数据直接进你手机,不走任何第三方服务器。

核心能力包括:

•睡眠分析 — 通过 HealthKit 导入睡眠数据,配合本地算法给出睡眠质量评估
•恢复指数 — 综合心率变异性、静息心率等指标,判断身体恢复状态
•训练负荷 (Strain) — 量化你今天的运动消耗和身体压力
•压力与能量银行 — 实时追踪压力水平和精力储备
•心血管负荷 — 独立的心血管健康指标面板
•健康教练 — 根据当前数据给出个性化建议的 Coach 界面
•实时运动 Activity — 通过 Live Activity 扩展锁屏实时查看运动状态

技术架构相当扎实

这个项目虽然刚起步,但技术选型很讲究:

•SwiftUI 构建整个 iOS 应用,包含 Home、Health、Coach、More 四个 Tab
•Rust 核心 — 所有数据解析和算法跑在一个 Rust 编写的本地核心库里,通过 JSON-over-C bridge 跟 Swift 通信
•CoreBluetooth 直接扫描和连接 WHOOP 5.0 设备
•HealthKit 集成,支持睡眠数据导入和运动数据写入
•完整的 Live Activity 小组件支持

数据管线完全本地化,没有任何云端依赖。WHOOP 5.0 手环暴露的蓝牙服务被 Goose 直接消费,经过 Rust 核心处理后呈现为各种健康仪表板。

开发体验

目前还是 Alpha 阶段的 proof-of-concept,作者很坦诚——性能还需要优化,App 会有卡顿。但构建流程已经理顺了:

# 安装 iOS Rust 编译目标 
rustup target add aarch64-apple-ios aarch64-apple-ios-sim x86_64-apple-ios  
# 模拟器构建 
xcodebuild -project GooseSwift.xcodeproj \   
-scheme GooseSwift -configuration Debug \   
-destination 'platform=iOS Simulator,name=iPhone 17' build 

物理设备也能直接构建和部署,甚至支持 devicectl 命令行安装和启动。

设计参考

健康指标的 UI 设计大量参考了 Bevel 的产品界面,作者也大方地在 README 里做了 credit。睡眠、恢复、训练负荷这些核心页面的视觉风格都很有质感。

谁适合关注这个项目

•WHOOP 5.0 用户 — 想绕过官方 App 的限制,自己掌控数据
•健康数据爱好者 — 对本地化、隐私优先的健康方案感兴趣
•iOS 开发者 — Rust + Swift 的混合架构本身就是很好的学习案例
•开源社区 — 性能 PR 和数据管线改进都 welcome

时间线

作者说 6 月 13 日 会发布第一个 TestFlight 公共 beta。现在可以先 clone 仓库看看代码、评估一下是否值得等这个 beta。

⚠️ 目前仅支持 WHOOP 5.0,其他代的手环不兼容。

项目地址:github.com/b-nnett/goose

💬 互动一下

觉得不错?点个「在看」,让更多开发者看到分享给需要的朋友,一起进步评论区聊聊:你正在用哪款 AI 编程工具?有什么体验想分享?

📌 关注我,下期更精彩

相关学习资料