Proof of work for AI coding

Everyone says they use AI.
You can prove it.

ShipOrShame runs in the background, reads the logs your AI tools already write, and turns real sessions into a streak. Then it puts you on a public board next to everyone else who claims they ship.

Free forever · aggregates only, never your prompts or code

Works with

The tools you already live in.

  • Cursor
  • Claude Code
  • Codex
  • Copilot
  • Gemini CLI
  • Cline
  • Roo Code
  • Windsurf
  • Zed
  • Trae
  • C Continue
  • GO Goose
  • GR Grok CLI
  • Qwen Code
  • A Aider
  • OH OpenHands
  • AM Amp
  • K Kilo Code
  • Kimi Code
  • OpenCode

All 20 tracked by one background agent. Switch tools mid-project and the streak doesn't notice.

The catch

Open tabs don't count.

We measure events, not window focus. That's the whole reason the number means anything.

Doesn't count

  • Cursor sitting in the dock. Launching an app isn't work.
  • Claude Code idle in tmux. A process is not a session.
  • Unsent Composer drafts. Forty-seven tabs, zero minutes.

Counts

  • Turns and tool calls. You actually prompted the model.
  • Transcript appends. The agent did something.
  • Every machine you own. Minutes follow you, not a laptop.
How it works

Two commands. Then forget it's there.

01

Install the agent

One Go binary on macOS, Linux, or Windows. It reads known log paths only.

go install origin.cursor.com/silverarkmedia/ShipOrShame/apps/agent@latest
02

Pair your account

Magic link, about fifteen seconds, then shiporshame serve. Nothing syncs until you pair, and only aggregates ever leave the machine.

03

Hit 15 minutes a day

That's a qualifying day. Your streak climbs. Miss one and it's gone — you get a freeze every seven days, and that's it.

Why it sticks

It won't let you quietly stop.

ShipOrShame

Streak dies in 4 hours

128 people already finished today. You have 12 minutes. 47 days gone in 4 hours, and every one of them keeps theirs. Still not moving?

streak risk

That is the real copy

Rendered by the notifier that ships inside the agent, not written for this page. Tough names how many people already finished today, how many are ahead of you, and what the leader is on. Gentle just reminds you. Default is tough.

Nowhere to hide

Mute notifications and it shows up in your editor instead.

ShipOrShame · 12m today · streak 47 at risk

One link settles the argument

A share card, a README badge, and a public profile. Post the number or explain why you won't.

The crop

Post it before you jinx it.

For TrustMRR founders

Your revenue is verified. Your work isn't.

TrustMRR reads your payment provider so nobody has to trust a screenshot. ShipOrShame does the same for the hours behind the number — read off your own machine, not your timeline.

If you're comfortable publishing your MRR, publish the work that produced it.

FAQ

Answers before you ask.

Do you upload my prompts or code?

Never. Aggregates only: tool, session timestamps, duration, event counts, and an optional hashed project id.

Do I have to be public?

No. The leaderboard, profile, card, and badge are opt-in and off by default. Your private stats work either way.

Can I fake a streak?

Not usefully. Sessions are duration-capped, need real event counts, and you can't self-report minutes.

What does it cost?

Tracking, streaks, cards, and the leaderboard are free forever. Pro — deeper trends, per-project breakdowns, team boards — is coming later and stays additive.

Someone is at #1 right now.

It takes fifteen minutes a day to pass them. Free forever, one binary, no prompts uploaded.