Launch: 65% base share β€” publicly committed to 70% at $50k/mo πŸš€

Menu-bar advertising Β· Mac Β· simulated demo

Your menu bar buys the coffee.

Advertisers bid in a real-time auction for minute-long placements in the empty stretch of your menu bar. Install FreeCoffee, ignore it, and get paid β€” you see every winning bid and your exact cut. Five dollars is a coffee; the bar earns it while you work. Day zero: the network is new, so early users shape the auction β€” and early advertisers get it with zero competition (see the launch offer).

  • No Gatekeeper prompt via brew
  • $2 min payout
  • 65% base share published

Live market price

$4.00 CPM

Current top bid Β· recalculated when you connect a feed. Until then this is the published Tier-1 floor ($4.00 per 1,000 minute-long impressions β€” US, CA, UK, CH, EEA).

  • 65%base share, always on
  • $2payout minimum
  • 24hstandard payout rail
  • $5= one coffee β˜•

How it works

Three steps. No dashboards to configure, no inventory to manage.

  1. Download & install

    Drag FreeCoffee into your Applications folder and grant menu-bar access. It sits quietly at the top-right of your screen β€” a small β˜• and nothing else.

  2. Your empty menu bar fills with reviewed sponsor ads

    Every advertiser and creative is human-reviewed before it can bid. You get minute-long placements from vetted sponsors β€” text chips, never popups, never animations over your work.

  3. Get paid: $2 minimum, 24-hour rail

    Earnings accrue per verified impression. Cash out any time over $2 β€” standard rail lands within 24 hours, and the instant stablecoin option is free too. Payout model β†’

Where the impressions come from

Every impression is priced by audience tier β€” Tier 1 (US, CA, UK, CH, EEA), Tier 2 (AU, NZ, JP, KR, SG, AE), Tier 3 (rest of world). The bars show how the last 7 days of earnings split across tiers in this demo ledger.

Demo distribution β€” computed from the seeded demo ledger (seed 42), not from live traffic. When a backend is configured, this chart reflects the connected account's real 7-day ledger by tier.

Privacy: the data boundary

A menu-bar app sits above everything you do. So the design rule is simple: FreeCoffee physically has no code paths for reading your work. These four are never captured β€” the binary has no API calls for them.

Screen contents

No screen capture APIs, ever. The app can't see your windows because it never asks the system to render them.

Files & browser history

No file indexing, no disk scan, no browsing data. Your folders are invisible to FreeCoffee β€” there is no function that touches them.

Keystrokes & screenshots

No keyboard event monitors, no screenshot permission. What you type stays between you and your keyboard.

Window titles

Not read, not stored, not hashed. Ad targeting never learns what app you're using.

What we do check β€” the complete list

  • Awake / unlocked status β€” so impressions only count while you're actually there.
  • Recent activity β€” a coarse "was the machine in use this minute" signal, nothing more granular.
  • Verified ad clicks β€” β‰₯10s after the impression, β‰₯2s dwell, so clicks are real.
  • Placement visibility β€” the chip must be rendered in a valid, visible menu-bar position (notch and safe-area aware); an uncertain minute is never billed. Same eligibility bar, stated up front.

That's the whole list. No Screen Recording, Accessibility, or Input Monitoring permission β€” ever. The app source is a single Swift file you can read in one sitting.

What people say

The reaction we're building for: install once, forget it, collect the coffee money.

"Installed for the coffee money, stayed for the dashboard. Every winning bid is just… right there."
@devkettle
"A text chip in the menu bar is the first ad format I've actually forgotten about. That's the compliment."
@terminal_latte
"Read the whole app source in one sitting. Show me another ad network you can say that about."
@buildshipbrew
"The ledger math checks out β€” I redid the 65% cut on my own rows before believing it."
@quanta_drip
"Snoozed it during a screen-share, forgot to unsnooze, and it earned anyway by Friday. Set-and-forget."
@espresso_ops
"Two-dollar cash-out threshold is the whole pitch. Everything else in this category makes you wait for $25."
@coldbrew_dev

Illustrative reactions β€” fictional handles, written to show the experience we're aiming for. We don't publish paid or quoted testimonials.

FAQ

How does the earnings math actually work?

Every minute-long placement is auctioned; the winning bid is recorded. You receive 65% of auction revenue, always on. Example from our published model: 1,000 impressions at a $6 CPM = $6.00 total β†’ your base share is $3.90 β†’ bounded bonuses can add at most $0.55 β†’ the platform keeps at least ~$1.55. Every ledger row shows the winning bid and your exact cut, so you can redo this math yourself on your own data.

Full payout model β†’

What counts as a "verified impression"?

A minute-long placement counts when three things are true: your Mac is awake and unlocked, there was recent activity this minute (a coarse yes/no signal β€” FreeCoffee never learns what you did), and the menu bar was actually visible β€” not hidden behind a full-screen app that suppresses it. Only verified impressions are billable, and only verified impressions count toward the click caps.

How does the $0.05 click bonus work? What are the caps?

A click pays $0.05 when it's verified: at least 10 seconds after the impression, with at least 2 seconds of dwell. Two caps protect advertisers (and you, from bot-accusations): a maximum of 5 verified clicks per day, and verified clicks can never exceed 25% of your verified monthly impressions. Both caps are enforced before anything is credited.

How do referrals work?

You earn 10% of your referee's base earnings for 12 months β€” double the referral rate claim in the comparison above. It's gated on real activity: your referee needs at least 60 verified minutes in their first 30 days before the referral starts paying. No gate-passing, no payout β€” which keeps the program worth funding.

When do I get paid?

Any time your available balance is at least $2. The standard rail settles within 24 hours; there's an instant stablecoin option β€” both with no fees (rails subject to provider availability). Payout timing is the most-cited complaint in this product category, so it's a design constraint here, not a feature request.

What does "β‰ˆ N cups" mean?

Every balance in FreeCoffee is also shown as a coffee count: 1 cup = $5.00, floored β€” so $28.55 reads "β‰ˆ 5 cups". The menu bar literally buys the coffee. It's a format, not a currency: payouts still settle in dollars.

What data does FreeCoffee check about my activity?

Four things, and that's the complete list: awake/unlocked status, coarse recent-activity (a yes/no signal per minute), placement visibility (is the chip actually rendered and visible β€” notch and safe-area aware), and verified ad clicks. Never captured: screen contents, files & browser history, keystrokes & screenshots, window titles. No Screen Recording, Accessibility, or Input Monitoring permission β€” ever. The Mac app is one readable Swift file with a comment block at the top stating exactly this boundary.

What happens when a minute is interrupted β€” sleep, lock, screen-share?

It doesn't count, and you're not charged (advertisers) or credited (earners) for it. When the system is unsure whether the placement was visible for the full minute, the minute is not billed β€” that's the rule, stated before you install, not discovered after payout. Snooze the bar before a meeting (30 min / 2 h, with a countdown) and it resumes on its own.

There are no advertisers yet β€” what do I earn on day one?

Honestly: the demo ledger is simulated until paying campaigns clear review β€” nothing here pretends otherwise. What day zero buys you is position: the payout rules ($2 minimum, 24-hour rail, 65% base + written 70% ratchet) are locked before the auction fills, referrals accrue from your first invite, and the first advertisers bid against an empty room β€” which is exactly why the launch offer exists.

Can advertisers target countries or set a max bid?

Country targeting ships with the platform backend; today the self-serve feed is worldwide with tiered CPM floors (T1 $4.00 Β· T2 $2.50 Β· T3 $1.25) doing the geographic work. Maximum bids are the auction itself: the highest CPM wins each minute, and minutes below your floor simply don't serve your creative. See For advertisers.

Day zero, stated plainly

Zero advertisers. Zero pretense.

For users

With 0 paying advertisers, the honest answer is: the demo ledger is simulated, and real earnings start when the first campaigns clear review. What you lock in by installing now β€” payout rules, referral position, the auction math β€” is all published before the money arrives, not after. When the counter below moves, your app is already showing the real feed.

For advertisers

Zero competition for the minute: your bid is the top bid until the auction fills, every verified minute is yours at the tier floor, and the first $100 runs with no platform cut under the launch offer. Human review inside 48 hours.

Live network status

0live campaigns

No paying campaigns yet β€” this counter moves the day the first review passes.

Put your menu bar to work

A single-file Mac app, readable before you run it.

Unsigned demo build β€” right-click the app to open it the first time (Gatekeeper). Prefer to build it yourself? cd freecoffee/app && ./build.sh β€” requires macOS 13+ with the Xcode command-line tools. See the how-to.