Geekclock Claude banner
egerkuzma egerkuzma

Geekclock Claude

AI community

Description

Display Claude.ai usage limits on a $30 desktop WiFi clock (GeekMagic SmallTV ESP32)

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

geekclock-claude

Push your [Claude.ai](https://claude.ai) usage limits to a **GeekMagic SmallTV** — a tiny WiFi-connected display the size of a sugar cube — so you can see your 5-hour and weekly quota at a glance without opening the Claude app.

![Running on a real GeekMagic SmallTV](docs/clock-photo.jpg)

The device

This script targets the **GeekMagic SmallTV** family — small ESP32-based WiFi clocks with a 1.5" 240×240 IPS display, originally designed to show weather, GIFs and crypto prices. They expose a simple HTTP API for uploading custom images.

**Where to buy:**

**Specs:**

  • 1.5" 240×240 IPS TFT display
  • WiFi 2.4 GHz
  • USB-C power (5V, 1A)
  • ~35 × 39 × 45 mm

This project should work on any SmallTV variant (Lite, Pro, Ultra) and likely on other GeekMagic models with the same `/doUpload` endpoint.

What it does

Every time it runs (typically once a minute via cron):

  1. Calls claude.ai/api/organizations/{org}/usage — the same endpoint the Claude.ai website uses on the Settings → Usage page
  2. Renders a 240×240 PNG with two progress bars:
    • Current — 5-hour rolling window
    • Weekly — 7-day rolling window
  3. Uploads the image to your clock over HTTP

Bars are colour-coded:

  • 🟢 green under 50%
  • 🟡 yellow 50–80%
  • 🔴 red above 80%

Both blocks also show time until reset ("Resets in 4h 37m", "Resets in 3d").

Why this approach?

The official `api.anthropic.com/api/oauth/usage` endpoint exists but has a much stricter rate limit and returns `HTTP 429` if you (or any of your Claude.ai / Claude Code clients) hit it frequently.

The website endpoint is what real apps like [ClaudeMeter](https://github.com/eddmann/ClaudeMeter) use, and it tolerates frequent polling.

To bypass Cloudflare's bot challenge