I check my Apple Watch about 50 times a day. The faces I keep coming back to are the ones where the most-glanceable, most-actionable information lives. Most apps with "Apple Watch support" don't earn a spot there. They ship a checkbox-feature watchOS app that shows the same data as the iPhone, takes 4 taps to log anything, and is forgotten within a week.
This post is about what makes a watch complication worth a slot — and how SipNote's caffeine complication tries to earn one.
What I actually want from a watch app
After two years of trying to use various caffeine trackers on my Watch, here's what makes the difference between "open the iPhone instead" and "the Watch is faster":
1. The complication shows the answer, not a button to find the answer. "Caffeine level: 142 mg" on the watch face is the answer. "Tap to view caffeine" is a button to find the answer.
2. One glance to decide. Before bed, before that 4pm coffee, before a meeting — I want to know in 1/2 second whether to drink another. Not extract a chart and interpret it.
3. Logging takes one tap, not a tour. If logging requires opening the app, then picking a drink, then setting size, then saving — I'll skip it and the data goes stale. Apple Watch is for one-tap interactions.
4. Wrist-only when possible. Anything that requires touching the iPhone defeats the purpose. Especially if I'm cooking, holding a baby, or just being lazy.
5. Battery-friendly. A complication that wakes the radio every 5 minutes is dead by lunch. Smart background refresh, smart caching.
Most caffeine apps fail at 3-4 of these. Let me show what we tried to do differently.
The complication that earned its slot
SipNote's primary complication shows:
`` ☕ 142mg clear by 22:14 ``
Two pieces of information, one glance. The "142mg" is current bloodstream caffeine. The "22:14" is when your level will drop below the sleep-safe threshold (about 20 mg), calculated from the half-life math.
If you're a Modular face person: same data, just laid out for the larger slot. If you're a Solar Dial / Compact Modular person: just the current level, color-coded — green (low), yellow (caffeine zone), red (will affect sleep tonight if no more added).
The forecast (the "clear by" time) is what makes it actionable. Without it you have a number that requires you to do half-life math in your head. With it you have a sentence: "Stop drinking caffeine by 14:14 if you want to sleep clean tonight."
Quick-add tiles
Tapping the complication opens the watchOS app, which is one screen — a 2×3 grid of your most-logged drinks. Tap one, you're done. The iPhone gets the new entry, the complication updates within seconds.
The grid is personal: it learns from your logging history and shows your 6 most-frequent drinks. If you have boba 3x a week, "Large Boba (100 mg)" is the top button. If you have coffee twice a day, it's the top two.
This is "the thing I want" tier of UX. None of the watch-app screens in HiCoffee, RECaf, or Caffi got me there in fewer than 3 taps.
What's hard about this
Building a caffeine complication that earns its slot took longer than the iPhone app. A few traps I hit:
The complication refresh model is asynchronous and capped. watchOS rate-limits complication updates to prevent battery drain. You can't just say "update every minute." You have to:
- Schedule future updates at known times (caffeine half-life math gives you these — every metabolism curve is predictable)
- Use
WCSessionto react to phone-side changes - Cache aggressively so the watch can render without waking the radio
On-device OCR can't run on the Watch. When you snap a drink on the watch app, the photo gets queued for processing once you next open the iPhone. The watch shows "logged" optimistically. This is fine in practice but required careful sync state management.
Health hidden APIs. Apple's HKQuantityType.dietaryCaffeine is a read-write store, but writes from your app coexist with whatever else writes there (Apple Health auto-logs from cafe receipts in some regions; coffee makers with HealthKit integrations). De-duplicating these is fiddly. SipNote stays read-only for now to avoid double-counting; two-way write is on the roadmap.
Battery. SipNote's complication uses zero background tasks beyond the schedule the WatchKit framework already runs. Caffeine half-life is deterministic; we know when to update without polling. This is how it stays cheap on battery.
Faces I'd recommend pairing with it
If you're putting SipNote on your watch, here's what works:
- Modular Ultra / Modular: the large complication slot is the right size for "level + clear by"
- Infograph Modular: same, with the watchOS Compact Module slot
- Solar Dial: the corner module is dense; just shows current level with color
- Apple Watch Ultra 2 / Ultra 3 Wayfinder: large complication slot is gorgeous for the curve
- Activity Digital: ring-style faces work but require fitting caffeine into the "third complication" mental model
I personally use Modular with SipNote at the bottom-left and bottom-right of the screen, paired with weather and battery.
A word on Apple Watch Series 9 / 10 / Ultra differences
SipNote runs on watchOS 10+. Series 9 onward has the dedicated Double Tap gesture, which we use for "log my default drink" — a power-user feature. It also supports Always-On so the complication is genuinely glanceable without raising your wrist.
The Ultra's larger screen makes the larger complication shapes more useful. If you're picking a watch for this specific use case, the Ultra is overkill but the bigger complication slot is genuinely better.
What's coming
The watch story is the most-iterated part of SipNote and the most-fun to build. Things in progress:
- Curve complication: a literal mini metabolism curve on the watch face (one of Apple's newer complication shapes)
- Smart watch Sip prompt: an opt-in notification at the times your caffeine usually peaks, asking "log a drink?"
- HealthKit two-way write: so SipNote can be your only caffeine source if you want
- Watch-only friendly mode: log entirely from your wrist for the day, then sync to iPhone overnight
If any of this is the difference between "tries SipNote" and "stays with SipNote," tell me — I read every email. obeliskclubclub@gmail.com.
Get it
App Store: SipNote (iPhone + iPad + Apple Watch)
$2.99 one-time. No subscription. No account. Free tier includes the complication and snap-to-log; Pro adds bedtime alerts, full history, drink map, CSV export, and quick-add tiles.
Frequently asked questions
Which Apple Watch complications does SipNote support?
SipNote ships with complications for Modular, Modular Compact, Modular Large, Corner, Inline, Circular, Graphic Bezel, Graphic Corner, Graphic Rectangular, and Graphic Circular. That covers every modern watchOS face that supports third-party complications, including Modular Ultra, Infograph, Solar Dial, Activity Digital, and the Apple Watch Ultra's Wayfinder face.
Can I log a drink from the Apple Watch alone, without my iPhone nearby?
Yes. SipNote watchOS app lets you log via 1-tap quick-add tiles, Double Tap (Series 9+), or by speaking a drink name (via Watch's Siri). Photo OCR requires the iPhone — when you snap a photo on the Watch, it's queued for processing when the phone is next reachable.
Does the SipNote complication drain battery?
No. The complication updates on a deterministic schedule (caffeine half-life is predictable, so we know exactly when the displayed value would meaningfully change). Background refresh stays within Apple's recommended limits. In my testing, SipNote is responsible for under 1% of daily battery drain.
Will SipNote write to Apple Health automatically?
Currently SipNote reads from HealthKit (so it can pick up caffeine entries from other apps or coffee-maker integrations) but does not auto-write. This avoids double-counting when both SipNote and another app log the same drink. Two-way write is on the roadmap — opt-in only, with manual reconciliation if there's a conflict.
What's the difference between SipNote's Watch app and HiCoffee's?
Both apps have native watchOS apps and complications. SipNote's primary differentiator on the watch is the "clear by HH:mm" forecast (when your caffeine level will drop below the sleep threshold), shown directly in the complication. HiCoffee shows current level only. The decision-making question — "should I drink another coffee?" — is answered faster on SipNote.