README.md

codewatch #

A Pebble watchface styled after the Claude Code terminal. A pixel creature lives on your screen; flick your wrist and it jumps, skips, sneezes or peeks in from off-screen, or a slash command types itself out with a live reading from your watch.

Targets Emery (Pebble Time 2) and Gabbro (Pebble Round 2).

Get it on the Pebble app store

codewatch on Emery

Features #

  • 14 creature animations, with squash and stretch, or over 40 slash commands: live stats (steps, sleep, heart rate, next alarm, battery, weather) plus some jokes
  • Big time in the top border, and three status lines you choose: date, battery, steps, distance, calories, heart rate, sleep, next alarm, weather and more
  • Status lines can show readings from Pebble plugins, or your favourites from the Pebble app
  • Weather with no API key: conditions, today's high and low, tomorrow, and when the weather next changes
  • A step goal bar, a Claude Code-styled settings page, and a startup screen
  • Nothing moves until you flick, so it's easy on the battery

Install #

The released build is on the Pebble app store: https://apps.rePebble.com/c900b6becb16414f84e788ed

Minimum watch firmware is 4.44.3 since v2.4.0, which is built on SDK 4.44 so the plugin status lines work. Earlier releases needed 4.32.

Build #

Needs pebble-tool and a Pebble SDK.

pebble sdk install 4.44
pebble build --sdk 4.44          # one .pbw with Emery and Gabbro binaries
pebble install --emulator emery build/codewatch.pbw
  • Build with SDK 4.44. Older SDKs don't write the manifest the plugin status lines need, so plugins silently fail.
  • After changing a font's characterRegex, a version, or a message key, run pebble clean first. Incremental builds keep the old values.
  • To install on a real watch, use the developer connection in the Core Devices app: pebble install --phone <phone-ip>.
  • The helper scripts (preview.py, make_icons.py, make_banner.py, capture_store.py) use #!/usr/bin/env pebble-python. Put a Python that has Pillow on your PATH under that name. pebble-tool's own virtualenv Python works: a two-line wrapper that execs its python3 "$@".

Layout #

  • src/c/ is the watch side. codewatch.c has the face, status lines and slash commands; creature.c has the creature and its animations.
  • src/pkjs/ is the phone side: the settings page (Clay), weather, and plugin readings.
  • appstore/ has the store listing copy, screenshots and every released .pbw.
  • make_*.py, capture_store.py and preview.py generate the icons, banner and screenshots.

Credits #

  • Weather data by Open-Meteo.com, licensed CC BY 4.0.
  • The Terminus monospace font, copyright (C) 2016 Dimitar Toshkov Zhekov and (C) 2017 Tilman Blumenbach, under the SIL Open Font License 1.1. resources/fonts/Terminus.ttf is the unmodified TTF; a cut-down web copy is embedded in src/pkjs/terminus.js.
  • The settings page uses Clay (MIT).

codewatch is an unofficial fan project. It is not affiliated with or endorsed by Anthropic. Claude and Claude Code are Anthropic's, and the creature is drawn in homage to Claude Code's.

Licence #

MIT, for the code in this repository.