The last thing a doctor owns
Look at who actually reads our sites.
Seven days on genrewatch.com: 257,523 requests, 99% of them crawlers. Meta's training agent took 209,000 of those. Applebot took 42,000. Real humans, the kind with a browser and a Tuesday evening, came to about 27 a day. rssamplifier.com is 87% bots. We spent a year building for an audience that turned out to be four laptops and a fleet of machines that never click anything.
You can read that as a loss. We read it as a customer list.
The part nobody says out loud
The machines reading our pages are being trained to do jobs. Not clerical jobs. The good ones.
Radiology is the one everyone points at, and pointing at it is now a bit late. Diagnostics, triage, differential workups, the first ninety minutes of any specialist's day: that work is being learned from text, and the text is being taken for free. A surgeon still has a decade of hands. But the reasoning, the pattern library, the twenty years of "I have seen this go wrong twice and here is how it started," that is not protected by a license. It sits in write-ups, case notes and half-finished blog drafts, and it is worth more to a training run than to anyone else alive.
Here is the uncomfortable arithmetic. A model trained on your judgment competes with you. It was trained for free. You were not paid, cited, or asked.
We think the second part is fixable even if the first part is not.
Sell the knowledge, keep the paywall
We already built the mechanism for our own sites. @profullstack/x402-gateway sits in front of a site and tells training crawlers the price: one dollar a day, paid in USDC over x402, settled through CoinPay. Search and retrieval crawlers stay welcome and free, because they send readers back. Training crawlers do not send anything back, so training crawlers pay. Six of our sites run it. NicheDB sells the same access as a subscription at $120 a month.
The marketplace is that turned outward. You publish what you know on a property. The property carries a paywall for training crawlers. When a crawler buys access, you get paid.
Twenty to eighty
Commission starts at 20% and climbs to 80%.
Every property you own adds five points, up to six properties. Every niche you can credibly publish into adds five more, up to six niches. A cardiologist with one site and one specialty earns 25%. The same cardiologist with four sites across sports medicine, sleep, nutrition and post-op recovery earns 65%. Six and six is the cap.
The ladder is not a loyalty scheme. It is priced off what makes a crawl valuable. One deep site on one subject is worth something. The same expert across six adjacent subjects is worth far more per crawl, because a training run wants coverage and cross-referencing, and because that seller is the one keeping the corpus current.
Then we made it a game, because that works
Selling into a market with no visible activity feels like shouting into a drive. So there is a public leaderboard: top earners, most sales, longest streaks, by week and month and all time. Badges you keep once you earn them, including one for the 80% club. A share card for every seller carrying their rank, streak and rate.
We built this once before for aiornot.vote and liked it enough to want it everywhere. So this time we built it as a package instead of a feature.
@profullstack/leaderboard is on npm now. Zero dependencies, a Fetch API core that runs at the edge, adapters for Hono and Next, stores for sqlite, Turso and Postgres. Describe your boards, call record() when something happens, and you get ranked pages, JSON, RSS, share cards and an embeddable widget.
The widget is the piece I actually care about. One script tag on any page:
<div data-leaderboard></div>
<script src="https://yoursite.com/leaderboard/embed.js"
data-board="earnings" data-period="week" data-me="u_42"
data-sticky="bottom-right"></script>
With data-sticky it becomes a corner pill that reads "You are #4 this week" and follows the reader around the site. Click it and the board opens over the page. It is sticky content in both senses: it stays on screen, and it is the reason people come back tomorrow to check.
Commission ladder included, since we needed one: commissionLadder() gives you the 20-to-80 shape, and every number is an option if your program has a different one.
Where it is
- The package: https://www.npmjs.com/package/@profullstack/leaderboard
- The source: https://github.com/profullstack/leaderboard
- The crawler paywall it pairs with: https://github.com/profullstack/x402-gateway
Next is the seller onboarding, then the first cohort of properties. If you hold a decade of expertise in a subject and you have noticed the machines getting better at it, that expertise has a buyer. Right now the buyer is taking it for free.
Top comments (0)