shipped 2026 · private utility · hotkey-only surface

Grid

Private · Python + PyQt overlay + WinAPI hotkey + OAuth refresh · 2026

The internal name is QuickGrid; the showcase name is Grid.

Built for:
People who launch the same 25 things every day and want a faster path than the Start menu, the dock, or muscle-memorising 25 distinct shortcuts.
Not built for:
People who want a maximalist launcher with categories, search, and AI summon. Grid is 25 tiles and a hotkey, and that is the entire surface.

Press the hotkey, the grid appears, a number or a letter launches the thing. Plus a row of live tiles showing Claude Max session usage — pulled directly from Anthropic’s OAuth endpoint, not screen-scraped, not guessed.

§ I

The problem

The Start menu is a keyboard input field that wants you to type. The taskbar is a row of pictograms that requires the mouse. Both are slow when the thing I’m launching is one of the 25 I launch every single day. Grid is for those 25.

The second piece — the live Claude Max usage row — is an answer to a different daily question: how much of this session window have I burned, and how much is left. Anthropic publishes this through the same OAuth endpoint Claude Code uses. Grid pulls it directly, refreshes the tile, and that’s the truth.

§ II

Decisions

  1. kept2026

    5×5, not configurable. The grid is exactly the size of a number row plus four letter rows; you can hit any tile with one keystroke. Adding a sixth row is the kind of feature that erases the entire reason the tool is fast.

  2. kept2026

    OAuth direct over screen-scraping. Polling Anthropic’s OAuth usage endpoint with a refresh-token-only client returns canonical numbers; scraping the dashboard returns whatever the dashboard happened to render that minute. Direct beats indirect.

  3. added2026-04-25

    A local TTS widget, launched from one of the tiles. Zonos transformer running entirely on-device, voice-cloning from short audio samples, with break and emotion tags in the prompt. Everything stays on the laptop.

§ III

System

Stack — current pins.
LayerImplementationPurpose
HotkeyWinAPI global hookShow / hide the grid overlay
OverlayPyQt frameless window5×5 grid, key-driven, no mouse
Usage daemonOAuth refresh loopapi.anthropic.com/api/oauth/usage direct
TTS widgetZonos transformerLocal voice cloning · emotion + break tags
StateSQLiteTile config · usage history · launches
Grid 5×5 launcher invoked over a desktop, with 25 letter-labelled tiles and a top row of four live Max usage tiles showing session windows, percentages, and request counts.
FIGURE. The launcher mid-session. Twenty-five tiles, one keystroke each. The top row is the truth about how much of the Max session window is left, pulled directly from the OAuth endpoint.

Acknowledgments

Grid stands on PyQt, the WinAPI hotkey surface, the Zonos transformer and weights from Zyphra, eSpeak NG, and Anthropic’s decision to publish a real OAuth usage endpoint instead of making you scrape the web dashboard.

← Index