WorkQuotaBar

QuotaBar — Live AI quota windows in the macOS menu bar

quotabar · live ai quota windows in the macos menu bar
in progress since 2026 · last touched 2026-07-25

Problem

I run three AI coding subscriptions with three separate rolling usage windows, and no vendor pushes a usage signal. Checking headroom meant opening three dashboards or running a CLI by hand — usually right after a long build had already eaten a weekly limit. A local HTML dashboard on a timer answered the question, but only as often as the timer fired, and it was one more surface to keep alive.

Approach

A menu-bar app that reads a local quota CLI and refreshes when there is a reason to. No vendor offers a push channel for subscription quota, so “live” means polling at the right moments: file-level watchers on the local agent session directories treat agent activity as the trigger, refreshing on the leading edge of a burst and once more after it settles. The watchers see path metadata only — no session file is ever opened or read.

Two rules kept it honest. A coalescing floor, so a two-hundred-write burst produces one refresh instead of two hundred. And no invented numbers: vendor figures lag local writes, so a single delayed trailing read closes the gap at fifteen seconds — three times the longest settle time I measured — and a pool whose vendor exposes no session window contributes no session figure at all, rather than a zero that would read as full headroom.

Stack

Swift and SwiftUI on SwiftPM, MenuBarExtra for the bar item, FSEvents for the activity watchers, swift-testing for the suite. It compiles with the Command Line Tools alone — no Xcode install — so the build reproduces from a shell.

What shipped

Running in my own menu bar. The bar carries one number plus a gauge glyph rendering that same figure; the panel holds per-pool windows, reset times, staleness, and sign-in rows for pools that aren’t authenticated. 80 unit tests cover the refresh state machine, the coalescing guarantee (verified with synthetic two-hundred-event bursts), and the rendering rules.

It was built by an agent crew rather than by hand: a Claude lead planning and orchestrating, a Codex executor writing the diffs, a Grok reviewer checking them. Every change had to pass review by a model from a different vendor than the one that wrote it — cross-vendor review caught real defects that a same-model pass waved through.

What’s next

Auto-start as a login item, a notification at a headroom threshold, and non-AI pools once the shape generalizes.

the stack

  • ·Swift
  • ·SwiftUI
  • ·SwiftPM
  • ·MenuBarExtra
  • ·FSEvents
  • ·swift-testing

Source isn't public yet. The panel can still answer questions about the stack and how it works.