bacon
yes, it's an ad network. your prompts never leave your machine.

Get paid to code.

You're coding anyway. Bacon rides along, drops the occasional clearly-labeled ad next to a reply, and pays you 50% of what that ad earns. Free to install, opt-in, and yours to throttle. Your prompt never leaves your machine — only a coarse intent signal does.

$npx @geturbacon/wizard

guided setup · installs plugin + connects your account in ~30s

claude — ~/projects/app
>

Costs you nothing, asks for nothing. Set ad frequency to minimal anytime and watch your balance in real time from the dashboard.

// 01 · how it works, for devs

Install, code, get paid.

You're already running prompts all day. Bacon just lets a few of them earn — and you decide how few.

01

install

One command in Claude Code. No account required to start — you stay anonymous by default.

02

code as usual

Once in a while, a labeled text ad shows up next to a reply. That's it. No popups, no autoplay, no tracking pixels.

03

get paid

You earn a share of every ad that fills. Cash out weekly via Stripe once you clear $10 — or ask Claude how much bacon you've made.

you set the dial

more ads = more earnings, but it's your call
100

heavy agentic sessions hit the high end fast

ad frequency
at this setting, you'd see about300labeled ads / month

Each one that fills pays you a share of its winning bid. We're not going to dangle a dollar figure — real pay depends on fill rate and demand, and most devs clear a few dollars a month (heavy users at full frequency, more). It's found money for work you were doing anyway, not a paycheck. Turn it down to minimal, or off, whenever.

// 02 · privacy & transparency

The part where we earn your trust.

An ad network you don't trust is spyware with extra steps. So here's the whole mechanism, no NDA required: what leaves your machine, what never does, and the dial you control.

what actually gets transmitted

you typed (stays local)

> the JWT refresh in auth.ts throws after the cookie expires, fix it for my Next.js app on Vercel

never transmitted

bacon receives (anonymous)

{ intent: "auth", os: "darwin", dep: "package.json", ext: ".ts" }

coarse signals + a derived label. never your prompt or code.

Consent tiers — you turn the dial

More context means more relevant ads, which means more earnings. You decide how far up the ladder to go. Every rung past zero is explicit and reversible.

0
anonymousdefault

sends → A coarse intent label only — e.g. auth, database, deploy.

keeps → Everything else. No identity, no stack, no code.

1
stackopt-in

sends → Your languages & frameworks (TypeScript, Next.js…) for better-matched ads.

keeps → Identity, file contents, package names, prompts.

2
full contextopt-in

sends → Richer derived intent for the most relevant ads — and the most earnings.

keeps → Raw prompts. Always. They are never transmitted at any tier.

raw prompts never leave your machine

Intent is derived locally. We receive a label like “auth”, never the sentence you typed. Not at tier 0, not at tier 2.

every ad is labeled

No native ads, no disguised links, no “suggested by Claude.” If it’s an ad, it says ad. Every time.

anonymous by default

You can earn without ever creating an account. Higher consent tiers are opt-in and reversible.

leave anytime

Uninstall the plugin and the data stops, instantly. No retention games, no “contact us to delete.”

// 03 · the math

Where the money goes. All of it.

No dark-pattern accounting. Every filled impression is split the same way, every time — here's the whole formula.

advertiser pays

the bid

first-price auction, per filled impression

bacon keeps (50%)

50%

infra, fraud detection, network costs

you keep (50%)

50%

your cut of every filled impression

We quote a split, not a per-ad price, on purpose: winning bids move with demand and your profile, and unfilled slots pay nothing. So earnings track your usage — most devs make a few dollars a month, heavy users more. It's found money for coding you were doing anyway, not a paycheck.

your split

50%

of every filled impression. We keep 50% to run the network.

// 04 · ad formats

The ad is the product.

Three placements — strip, card, marquee — rendered exactly as the plugin prints them in your terminal. Always labeled, always fake brands in the demo. Pick one and watch where it lands.

claude — ~/projects/app
>which database should i use for this?
Depends on scale — for serverless, reach for managed Postgres.
🥓 Sponsored
BlobDB
Postgres that scales while you sleep
│ → blobdb.com
tier: card·sold as Growth $500/mo·see plans →

// all three share one constraint: the 🥓 Sponsored label ships with the slot — no dark patterns, no bait-and-switch.

// 05 · for advertisers

Reach devs at the exact moment of intent.

Not "developers aged 25–34." Developers who are right now fighting an auth bug, picking a database, or shipping to prod — inside the tool they trust most. Targeting comes from real coding context, not cookies.

Self-Serve

$100/mo

strip ads

  • 3 active campaigns
  • intent-signal targeting
  • self-serve dashboard

Growth

$500/mo

card format

  • stack targeting
  • more campaigns
  • everything in Self-Serve

Pro

$2,000/mo

marquee format

  • domain + verified-team targeting
  • category exclusivity
  • everything in Growth

Managed

Custom

we run it

  • dedicated strategy
  • custom targeting
  • volume pricing

// subscription unlocks features; prepaid ad credit funds the impressions. Two separate money flows, first-price auction, <5% IVT guaranteed.

Want in early?

We're onboarding launch advertisers now. Tell us where to reach you.

full advertiser details

// 06 · faq

The questions you were already typing.