裝置 · iOS + watchOS + 韌體

Unlocka Hydro

底座自己知道你喝了多少。你不用記,也不用按。

開發中

提醒沒有用,因為提醒不知道你喝了沒

喝水 App 的老問題:它只會定時響。你按了「已喝一杯」但其實沒喝,資料就開始說謊;連續說謊幾天之後,這個 App 就被刪掉了。

Hydro 是一個裝了重量感測的底座。杯子拿起來、放回去,重量差就是這一口。裝水和喝水會被分開——加水不會被算成喝水,也不會寫進 Apple 健康。

01

重量推算:不用按,也不用估

底座量的是重量變化。拿起、放回、算差值,一次記一筆。裝水、換杯子、手撞到都有各自的判斷條件;方向、5–2000 mL 的飲水範圍、5–5000 mL 的裝水範圍與重量差容忍度都是硬邊界,超出就不採信。

02

離線也不漏:手機不在旁邊照樣記

事件先存在裝置上,手機一連回來就依序號分頁補抓。每筆事件有自己的 UUID,補抓幾次都不會被重複計算。

03

Apple 健康:冪等寫入,不會灌水

確認過的飲水量以 dietaryWater 寫進 Apple 健康。寫入失敗會存起來重試,同一筆事件永遠只寫一次。裝水的量一律排除在外。

04

Apple Watch:手機在房間另一頭也提醒得到

手錶自己排本地通知,也能一鍵記錄一次飲水。iPhone 只把「啟用中的提醒排程」傳給手錶——飲水歷史、健康資料、裝置金鑰與硬體識別碼都不過去。

05

韌體更新:簽章驗過才寫進去

韌體包用 Ed25519 簽章,硬體型號、版本與電量先做預檢,傳輸中斷可以從斷點續傳,重開機後用版本號確認結果。裝置端還有 A/B 分區與試開機回滾。

06

本機優先:登入不等於上傳

資料預設留在手機裡。登入只是建立一個身分,不會自動把飲水紀錄、健康資料、原始重量事件或裝置金鑰送上雲端。刪資料和解除裝置擁有權是兩件獨立的事。

介面

實機截圖之後補上。這些位置已經留好了。

產品截圖
產品截圖
產品截圖

感測器只說它知道的事

重量感測能證明杯子變輕了,不能證明水進了你的嘴。所以判斷不了的事件一律停在「待確認」,由演算法或你本人確認過才算數。裝水永遠不會被算成喝水,也永遠不會出現在 Apple 健康裡。