backfill puts one sponsored line at the bottom of your terminal while you wait — Claude Code, Codex, and Gemini CLI sessions, cargo builds, docker images, dbt runs, anything slow. Advertisers bid for the slot. You keep half the revenue.
install
$ pip install backfill-cli$ brew install shyamsivakumar/tap/backfill$ curl -fsSL https://backfill.sh/install.sh | shThen bf init aliases the slow commands (dbt, cargo, docker, gradle, bq, snowsql, spark-submit…) so your muscle memory just works. Wrap anything ad hoc: bf make -j8, bf claude, bf codex. Works in cloud IDE terminals too — Paradime, Codespaces, anywhere with pip.
where it runs
| Claude Code | bf agents install puts the ad in Claude Code's own status line via the official statusLine setting — no patching, earns through every thinking pause |
| Codex, Aider, Gemini CLI | bf codex, bf aider, bf gemini — agent sessions are just long-running commands, and they run long |
| Any CLI tool | bf dbt run, bf cargo build, bf docker build, bf make -j8 — the wrapper doesn't care what it runs |
| CI logs | GitHub Action — point a repo's build-log earnings at its maintainers |
how it works
bf dbt run starts dbt in a PTY sized one row shorter than your screen. Output, colors, interactivity, Ctrl-C, and exit codes pass through byte-for-byte. Your run summary prints exactly as always.
A single dim, clearly-labeled line on the bottom row, clickable via your terminal's native hyperlinks. While you watch the build, the slot accrues impressions: 5 visible seconds each, clicks worth 50x.
Half of attributable ad revenue lands on your balance, per run. Claim your device with an email; payouts via Stripe once balances cross $25.
trust
The CLI is open source (MIT) and small enough to audit over coffee. It is structurally incapable of reading your code: the only payload it ever sends is
Kill switch: bf off. Full removal: bf uninit. No daemon, no polling — two tiny HTTP calls per run, and your build never waits on the network.
the math
| your day | impressions | at $2 CPM, your half |
|---|---|---|
| an afternoon of Claude Code sessions | ~480 | $0.48 |
| 20-minute dbt production run | 240 | $0.24 |
| six cargo builds while iterating | ~360 | $0.36 |
| a normal month of waiting | ~12,000 | $12 — beer money for time you already lost |
Honest status: backfill is brand new. Today's inventory is house ads — clearly marked, earning $0 — while the first advertiser slots are sold. Your impressions are tracked from day one and your dashboard shows what they'd be worth at a $2 CPM. Nobody gets rich here; your wait time buys coffee, not yachts.
for advertisers
No ad network can sell those segments — we can, from the command name alone, with zero content read. Verified continuous attention during 15-minute compiles and agent sessions, no tab to switch away to. Interactive terminals only: we never bill impressions no human is watching.