| I've been maintaining GShockSmartSync (Android) for a while, and a recurring ask was "can I do this without installing an app?" So I built a browser-based version using the Web Bluetooth API. What it does:
- Time sync with NTP (atomic-clock precision)
- Full alarm management (all 5 alarms)
- Reminders/events with labels
- Watch settings (illumination, sound, display)
- Battery level monitoring
- Zero install, zero accounts — all BLE traffic stays local between your browser and the watch Tech: Next.js + TypeScript, Web Bluetooth API, Material Design 3. Supports 19+ G-Shock models with per-model capability detection. Live demo: https://gshock.avmedia.org
Source: https://github.com/izivkov/gshock-smart-sync-webapp Can be self-hosted on a Raspberry Pi or any Node-capable server. Browser support: Chrome/Edge/Opera (desktop & Android). iOS needs Bluefy or WebBLE. Safari and Firefox don't support Web Bluetooth — that's a vendor decision, not a fixable limitation on my end. One honest limitation: Web Bluetooth requires an explicit user gesture to initiate a connection, so there's no background auto-sync — you click "Pair Watch" each session. Fine for my use case, but worth knowing upfront. The most interesting part was reverse-engineering the BLE protocol. Happy to go into detail on that if anyone's curious. |