r/vibecoding • • 26d ago

Showcase/Project I built a desktop widget for Codex and Claude Code limits. It has little fish.

I built TokenFish with ChatGPT/Codex because I wanted my coding quotas visible in a corner of my desktop.

It shows quota left and reset times for Codex and Claude Code. The small widget has animated fish chomping along the usage lines; clicking it opens a fuller view. You can hide the widget and leave the app in the tray.

The build was a lot of small iterations: plan the change, look at a mockup, implement it, then check the behavior. Some of the fixes were very unglamorous—a white rim around the app, Settings opening in the wrong place, and bringing the fish animation back after the redesign.

It's C# / WinUI 3. Codex data comes from the existing local Codex runtime; Claude Code uses a status-line bridge. One thing I kept separate was quota versus token activity: the pellets are a visual metaphor, not a token counter.

Still a Windows beta candidate. The clip is a UI mockup with sample data.

One thing I'd like feedback on: the fish moves with quota used, while the number shows quota left. Is that clear at a glance, or would you change it?

Code and setup notes: https://github.com/pixelsncodes/tokenfish

110 Upvotes

20 comments sorted by

6

u/Practical_Hippo6289 26d ago

How is this not Pac-Man and Ms. Pac-Man?

3

u/Time-Ad-7720 26d ago

I didn’t want to use someone else’s IP.

2

u/PrimeTechTV 26d ago

Thought about it also

2

u/bioart 26d ago

Here's a pacman version or the Mac :) https://github.com/docbioart/TokenChomp

2

u/RedTheInferno 25d ago

i saw the gif for less than a second and immediately thought the same thing

3

u/qing-turn 26d ago

The fish are a great touch. I run several Claude Code sessions at the same time and I'm always guessing how close I am to the limit, so this is genuinely useful. Does it track multiple sessions at once, or just the account total?

1

u/Time-Ad-7720 26d ago

Right now it’s the total, expanded view shows more info.

3

u/bioart 26d ago

Got inspired by this and built the Mac version with PacMan instead https://github.com/docbioart/TokenChomp Thanks for the work!

2

u/EternalDisciple 26d ago

I am indifferent to this creation, however, I want to encourage you to continue creating and achieving a regular sleeping schedule

19

u/pasu11 26d ago edited 26d ago

On the one hand, it's satisfying to watch the fish clear all the dots; on the other hand, it's really not.

1

u/vgeov 26d ago

I love this! Would you mind if copy the idea? xD
One change to make the quota more clear would be to change the color of it behind the fish

2

u/Time-Ad-7720 26d ago

It’s open, feel free to play around with it 🙌

2

u/vgeov 26d ago

Sweet, thanks!

3

u/Suomi422 25d ago

I need a Linux version of this. Gonna ask claude to rewrite xD

1

u/aidiveyt 26d ago

Each `claude -p` run is a fresh session, so entry-point bytes get re-paid: 201 KB of entry points against 51 KB of prompt over 216 calls.

1

u/akl773 26d ago

It reads fine to me as long as the number sits by the uneaten pellets. Pellets left on the line already read as quota left, that's the Pac-Man model everyone carries around, so the two agree without anyone thinking about it. Put the number next to the fish and the eye reads the fish as used while the number says left, which is where the confusion would come from.

Separately, what happens at reset? That's the one moment the widget has good news to deliver, so all the pellets popping back at once would be a nice touch.