I built **oh-my-wrist**, a Garmin app for getting real-time alerts from Claude Code / OpenCode sessions.
The problem was simple: I would start a coding-agent session, step away from the desk, and later realize it had been sitting on a permission prompt or had already finished. So I made the watch notify me instead .The app shows live session state, tool calls, file edits, bash commands, idle time, usage, and vibrates for things that need attention.
The most painful part was definitely the BLE side. I ran into stack crashes, reconnect weirdness, and some device-specific behavior. For example, my Venu 3S needed the discoverable flag in the BLE advertisement, while other watches did not seem to care.
On the positive side, the Garmin SDK simulator was actually really useful for this kind of project. Being able to iterate on the UI and app behavior before testing on the real watch saved a lot of time.
Very niche, but maybe interesting to other Connect IQ / BLE people.
App:
apps.garmin.com/.../1fff0ec7-4813-4f94-8d24-3dc9fef0b9df
Source:
github.com/.../oh-my-wrist