SlopScore
00 crowd

Nightscout-supercgm

Nightscout Pebble CGM Watchface in 14 Segment Digit Style
Open repo on GitHubgithub.com/sgitaize/Nightscout-supercgm
JavaScript · ★ 8 · 1 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 1 hour ago by sgitaize · last checked 1 hour ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-09-28: Nightscout Pebble CGM Watchface in 14 Segment Digit Style; its own README says "- Pull requests and forks - Other Devs to help building this watchface About 90 % of the implementation was "Vibe-coded" with GitHub Copilot". 8 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as sgitaize. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
Nightscout Pebble CGM Watchface in 14 Segment Digit Style
created
2025-09-10 · pushed 1 hour ago · 54 commits · 3 contributors
release
v2.5 · 2026-09-28
languages
JavaScript 55%C 31%HTML 8%CSS 5%Python 1%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 1 hour ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
ccsshtmljavascriptpython
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: Nightscout Pebble CGM Watchface in 14 Segment Digit Style; its own README says "- Pull requests and forks - Other Devs to help building this watchface About 90 % of the implementation was "Vibe-coded" with GitHub Copilot". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

Nightscout SuperCGM Banner

supercgm-ns

Flexible Pebble watchface for CGM + weather with a fully customizable 5-slot grid per row.
Designed for both color and black-and-white Pebble devices, including Round models.
About 90 % of the code was developed collaboratively with GitHub Copilot (Claude Sonnet), making it especially easy to extend and maintain.


☕ Support

If this watchface saves you from checking your phone 50 times a day — consider buying me a Paulaner Spezi!

Buy me a Paulaner Spezi


📲 Quick Install


✨ Features

  • Customizable rows (per row choose one):
    Weather · Time · Date · Weekday · Battery · Nightscout BG · Steps · Heart Rate · BG Time · BG Delta · Rain next 3h
  • Per-row color customization, plus in-range / high / low BG colors and ghost grid color
  • Ghost rendering tuned per platform — color platforms use a visible ghost color; Aplite uses a subtle dotted skeleton; Diorite uses a visible grayscale ghost setting
  • Ghost density control — configurable 1..5 dot density for the ghost background
  • Improved color UX in config: native color picker + fallback palettes + live swatch preview + readable color labels
  • Live config simulator: shows the selected watch shape, configured row types, row colors, sample values, ghost density, and a main/shake preview toggle
  • DSEG-based preview fonts — the config simulator renders much closer to the actual watchface font than a generic monospace fallback
  • Phone-side background fetch for Nightscout BG (manual interval or timestamp-synced mode)
  • Weather via Open-Meteo (no API key needed, supports °C/°F) + rain probability for next 3 hours
  • Persistent storage on watch and phone (survives restarts)
  • Platform-aware layout:
    • Rectangular (Aplite/Diorite/Basalt/Flint/Emery): 5 rows
    • Legacy round (Chalk): 4 rows with tighter vertical spacing
    • Round 2 (Gabbro): tuned round layout with 5 rows

🔔 Alerts & Behaviour

  • Vibration on low BG — 3 short pulses (configurable, 10-minute cooldown)
  • Vibration on high BG — 2 short pulses (configurable, 10-minute cooldown)
  • Backlight on shake — lights up the display when the watch is shaken (Pebble Time+)
  • Bluetooth reconnect notification — single buzz + NOCON display when Bluetooth drops

📳 Shake to Reveal

Shake or tap the watch to overlay extra info for 5 seconds.
Configurable content:

  • Steps · Battery · Heart Rate · BG / CGM
  • BG Time — time of last Nightscout reading
  • BG Delta — signed delta from Nightscout (bgdelta, e.g. +6 / -4)
  • Rain next 3h — rain probability forecast for your location
  • The config simulator also has a dedicated Shake preview button so the second level can be checked before syncing to the watch.

🕹 Platforms

Platform Display Rows
Basalt (Pebble Time) Color 5
Chalk (Pebble Time Round) Color, round 4
Gabbro (Pebble Round 2) Color, round 5
Emery (Pebble Time 2) Color 5
Aplite (Pebble / Pebble Steel) B/W 5
Diorite (Pebble 2) B/W 5

⚙️ Configuration

Open the watchface settings from the Pebble/Rebble phone app.
The settings page (GitHub Pages: https://sgitaize.github.io/Nightscout-supercgm/config/) adapts to the platform (row count, B/W palette, ghost visibility, and preview layout).
Default language is English with an in-page English/German language chooser. Presets include legacy models plus Time 2 and Round 2.

The live simulator mirrors the selected watch variant:

  • selected preset/platform
  • row count and round/rect slot hiding
  • row types and per-row colors
  • example values for time, date, weekday, weather, BG, delta, steps, heart rate, BG timestamp, and rain
  • ghost dot density
  • main vs shake preview

🌙 Nightscout Integration

  • Enter your base Nightscout URL; the app requests <URL>/pebble.
  • If no BG is available → displays NO-BG; if connection lost → NOCON; if stale → OLD-BG.
  • Trend arrows are drawn natively (↑, ↗, →, ↘, ↓ and double variants).
  • BG delta is parsed from bgs[0].bgdelta and can be shown as row value.
  • Sync mode uses status[0].now as server time and bgs[0].datetime as reading time to schedule the next fetch (datetime + interval + 30s).

🛠 Build & Development

Prerequisites: Rebble SDK (Pebble SDK 4.x) with pebble CLI.

Quick start

pebble build                                # Build app + regenerate message key artifacts
pebble install --phone <PHONE_IP>           # Install on phone
pebble install --emulator chalk             # Test on legacy Round emulator
pebble install --emulator gabbro            # Test on Round 2 emulator
pebble install --emulator emery             # Test on Time 2 emulator
pebble install --emulator diorite           # Test on B/W emulator

Deploy config website

Pushing changes under web/ to main publishes them automatically to GitHub Pages (workflow .github/workflows/pages.yml): https://sgitaize.github.io/Nightscout-supercgm/config/index.html. The watch passes its current settings in the URL fragment (#config=…), so the page shows them on any host. Versions before 2.4 still open the old page at supercgm-config.aize-it.de/config20.

Development tips:

  • Phone code: src/js/pebble-js-app.js
  • Watch code: src/main.c
  • Web config: web/config/
  • AppMessage keys: package.json → pebble.appKeys (source of truth for generated message keys)

Recent implementation notes:

  • Ghost text layers are hidden; the ghost is rendered by a dotted hatch layer in src/main.c.
  • Ghost density is configurable and sent as GHOST_DENSITY.
  • The config simulator uses a DSEG webfont for near-watch-like rendering and falls back gracefully if the font is unavailable.
  • The simulator includes a main/shake toggle, so you can preview the secondary row mapping before saving.

💡 Contributing

This project is open source (MIT License) and welcomes:

  • New feature ideas
  • Bug reports
  • Pull requests and forks
  • Other Devs to help building this watchface

About 90 % of the implementation was "Vibe-coded" with GitHub Copilot (Claude Sonnet),
which means the majority of the logic was pair-programmed and iteratively refined together with an AI assistant.
If you have an idea for a new function, feel free to open an issue or PR.


📜 License

This project is released under the MIT License.
You are free to use, modify, and distribute it, provided that the license terms are respected.

Read the rest on GitHub

Scan report · 2026-09-28
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

0 comments

log in to comment.

report this listing — log in to report