A Chinese WeChat post making the rounds this month says solo operators should still go build AdSense sites — eight specific categories, $2K–$10K monthly revenue, and AI tooling has compressed the build from "1–2 months" to "2–3 days." Same claim, slightly different costume, appears every quarter in indie-hacker English too.
The compression part is real. Cursor, Claude Code, and Trae genuinely do collapse a one-month build into two days for a single solo operator. The conclusion that follows — therefore go ship AdSense sites — doesn't follow.
I went to Reddit and pulled what site operators currently say about the same three claims. The data points in the opposite direction.
Counter-evidence is a 401-score post on r/webdev from a solo operator: two years of human-written content, AdSense approved, building a directory of open-source web apps with cron-fetched GitHub metadata. 5,000 monthly active users. AdSense revenue:
"I got AdSense approval, but the earnings are quite low […] struggling to cover server costs."
— r/webdev, 5,000 MAU developer-audience site, 238 comments
Server costs are $7/month. The site can't reliably clear $7.
The top comment thread converges on the structural reason, with 53 upvotes:
"Your user base is probably more likely than a normal user to use adblocking extensions."
Developer audiences run uBlock Origin by default. The "$15–$30 RPM" number doesn't show up because the impression denominator was hollowed out before the ad bid ever happened. The category that looks highest-RPM on paper is the one with the worst adblock penetration in practice. You can build a beautiful developer tool in two days; you can't compel a developer audience to disable adblock.
Counter-evidence is an r/passive_income post by an operator who's been at this seven years and runs monthly revenue roundups. The May 2025 line items:
| Source | Approx. monthly revenue |
|---|---|
| TikTok (digital products + brand deals) | $X,XXX |
| Instagram (faceless reels → product sales) | $X,XXX |
| Medium Partner Program (7 years writing) | $XXX |
| Gumroad (ebooks, guides, courses) | $XXX |
| Threads (product sales, not ad rev) | $XXX |
| Mediavine (graduated tier, not AdSense) | $XXX |
| AdSense | — not listed — |
AdSense isn't a line item. Mediavine is — the publisher tier you graduate to after AdSense, with 50K monthly sessions required and an actual account manager. The active income streams are digital products and creator-platform monetization, not ads. The 42-upvote top comment lands the point:
"Yeah, none of this sounds passive."
Real publisher portfolios in 2025 treat AdSense as a footnote underneath product sales. The "lightest-asset" framing relabels a competitive, low-RPM, adblock-eroded ad market as a starter business; people who actually clear meaningful revenue have moved past it.
This one is true and irrelevant. Building the site was never the bottleneck.
r/SaaS, 330 upvotes:
"3 Years, 20 Failed Websites, even left my job. Finally got my first Paid User."
— r/SaaS, 187 comments
The compression isn't "1 month per attempt → 2 days per attempt" leading to instant success. It's "1 month per attempt → 2 days per attempt" leading to many more attempts, with the same distribution-cost wall in front of all of them. The funnel after publish — indexing, ranking, traffic, conversion, retention — takes the same time it always took. AI did not compress that.
What AI did compress was the cost-of-entry for everyone else aiming at the same SERPs. The category you ship into in two days has 100 other operators shipping into it the same week with the same tools.
Costly Signaling Law (Zahavi, Spence, Maynard Smith): a signal carries information in proportion to what it cost the sender to emit. Pre-2023, "I solo-shipped a polished PDF tool" was a ★★★★ signal — weeks of build, weeks of polish, a public commitment of time. Post-2023, the same artifact costs an afternoon. The signal dropped to ★★. Anyone can emit it.
The four-factor information density of "shipping a working tool site" looked like this:
| Factor | 2020 | 2026 |
|---|---|---|
| Cost (sender's resource sunk) | 0.8 | 0.4 |
| Irreversibility | 0.8 | 0.6 |
| Decodable (extractable signal) | 1.0 | 1.0 |
| Derivative (rate-of-change information) | 0.8 | 0.8 |
| Info(signal) = product | 0.51 | 0.19 |
0.19 sits well below the practical 0.5 threshold for "worth building a pipeline around." For solo operators competing in the same SERPs, "I shipped a tool" no longer differentiates — everyone shipped one this week.
What didn't decay:
The cost-info gradient inverted. The high-Info residue is on the auth-data and distribution side. The low-Info residue is on the build side — where AdSense optimism keeps pointing.
For solo AI-augmented operators — the actual cohort the WeChat post was written for — three rules drop out:
This is the same argument that points at Tap's local-first architecture from the other side. Tap runs in the user's own Chrome, reusing the user's own cookies. The data the user can already see, Tap can already automate. The data behind everyone else's auth wall stays behind that wall — not because Tap chose to respect it, but because Tap's trust boundary is the user's browser, not a cloud agent.
That's the bet. Building got 30× cheaper. Reading authenticated state, deterministically, repeatedly, without exfiltrating credentials, did not. The latter is what's left to compete on.
You can still go build PDF tool site number 4,001. The build will only take a weekend. The distribution will take the same year it always took, against 4,000 priors with the same RPM you'll get, in an adblock-saturated funnel. The math has not improved. It got worse, quietly.
brew install LeonTing1010/tap/taprun tap mcp stdio tap # your site, your cookies, locally