await gains()

uptime: 0 daysresolved: 0

for developers who wait on agents

Your AI is working.
Are you?

Every time your agent goes off to think, press one button and get one thing to do instead of doomscrolling: a real exercise, a mini-game with a personal best, or a genuinely stupid side quest. Each card says how long it takes.

59 tasks · no signup · no tracking · nothing ever leaves your browser

~/awaitgains — zsh

$your agent is busy

one random task from 59 · re-roll as many times as you like

Non-blocking exercise for blocking operations.

01
Your agent starts cooking

Claude Code, Cursor, Codex — whatever is chewing on your repo right now.

02
Hit run gains()

One random task from 59 — a real exercise, a mini-game with a personal best, or a side quest. Do not like it? Re-roll.

03
Promise resolved ✅

Streak goes up, share card goes out, your agent is probably still running.

$cat WHY.md

I did not set out to build a fitness app. I am not a fitness person.

Here is what happened. My job changed. I used to write code; now I mostly describe it and wait. Claude Code disappears for four minutes, Cursor for two, and I sit there refreshing something, scrolling something, watching a progress bar drawn by a machine that is currently better at my job than I am.

Multiply that by a working day. It is a staggering amount of sitting. My back found out first. Then my neck. Then my wrists — which is a particular insult, given that typing is the one part of the job I still do myself.

So I did what developers do when faced with a behavioural problem: I built a tool instead of changing the behaviour. This time it actually worked, for one boring reason. The waiting was already dead time. Spending it standing up costs nothing.

That is the entire idea. Your agent will take four minutes whether or not you do twenty squats. You may as well do the squats.

— Ovebuilt between agent runs, obviously