Ideas (C:)Now Runningsubscribe.exetodo.txtRecycle BinMy Pictureshow-it-works.txtabout.txtThe Haven ProgramThreatShield
exposed.idea - WordPad✕
FileEditViewInsertFormatHelp
General
File:
exposed.idea
Type:
Misc idea
Size:
5 min read (1,169 words)
Created:
21 May 2019
Modified:
21 August 2026
License:
CC BY 4.0, free to take
Misc

Exposed: Count the Ads You Actually See

A local-only browser extension that tallies every ad you are shown, brand by brand, and hands you the nutrition label of your attention.

21 May 20195 min read

Everyone knows the feeling of being followed around the internet by a pair of sneakers. You look at a product once and it shadows you for three weeks, across news sites, videos, weather forecasts. What nobody can tell you, and this is the strange part, is the number. How many times, exactly, did that brand appear in front of your eyes this month? Ten? Two hundred? You are the only witness of your own screen, and even you are not counting.

I wrote this idea down years ago and forgot it, which is itself a data point about how ambient the problem is. Advertising is the only massive daily exposure in our lives that nobody measures from the receiving end. We count our steps, our calories, our screen minutes. The ad industry counts its impressions with terrifying precision, from its side.

The one ledger that does not exist is yours.

Exposed is a browser extension that keeps that ledger. It does not block anything. It counts. Every ad that renders in your browser gets tallied, by brand where identifiable, by category, by site, by hour, and everything stays on your machine. At the end of the week you get the report nobody has ever handed you: your ad diet. You were served roughly 1,400 ads this week. Here are your top ten brands. Here is the fast-food cluster that owns your evenings, and the betting brands that own your weekends.

Blockers count what they stop; nobody counts what you absorb

The adjacent tools make the gap obvious. Ad blockers proudly display how many things they blocked, a number about their work, not your exposure, and by definition they only see what they removed. Mozilla once shipped Lightbeam, a beloved little extension that visualized the trackers following you across sites; it was discontinued, and it tracked the trackers, not the ads themselves. Academic projects have tried to observe advertising at scale, and the most famous one, a university tool for studying political ads on a large social platform, got legal threats from the platform for its trouble. That tells you two things: observation is valuable, and the observed do not love it.

The gap Exposed fills is personal, not academic. It is the quantified self, applied to the one input stream everyone receives and nobody logs. Not “advertising is bad,” which is an opinion, but “you saw this brand ninety-one times this month,” which is a fact, your fact, sitting in your own browser.

Key Features

  • A counter, not a blocker. Exposed changes nothing about the page. It observes, tallies, and stays out of the way, which also means it can coexist with a blocker and count whatever leaks through.
  • Brand-level attribution, honestly approximate. Where the advertiser is identifiable, from ad domains, disclosure labels, landing URLs, the tally is per brand; where it is not, it counts anonymously by category. The dashboard says “estimate” and means it, because the alternative is pretending.
  • Local, forever, structurally. The entire point collapses if the exposure ledger travels. Everything is computed and stored on-device; no account, no server, no telemetry. The report is yours to export, screenshot, or delete, and the code is open so that claim is checkable.
  • The weekly diet report. One glanceable page: volume over time, top brands, categories, the sites that serve you the most, your personal prime time. Designed like a nutrition label, because that is what it is.
  • Shareable stats, private data. A one-tap card, “1,437 ads this week, top brand for the 6th week running: same soda”, for the people who want to show the world, without a single underlying datum leaving the machine.
  • Research mode, strictly opt-in. For the journalists and researchers who need aggregate exposure data, a user can choose to donate anonymized tallies. Off by default, loudly consensual, and never required for any feature.

The honest tensions

Detection is a guerrilla war and the extension is the weaker side. Ads are deliberately obfuscated, served from rotating domains, rendered in closed iframes. There is one structural consolation. Manifest V3 hobbled the blockers far more than it hobbles a counter. Observing survives where blocking was maimed, which makes a counter the more future-proof species of extension. The elegant trick is to reuse the enemy of ads as a dictionary. The same public filter lists that blockers use to remove ads, EasyList and its siblings, work just as well to recognize them. Counts will still be undercounts, some attributions will fail, and the product must wear that honestly. Exposed offers an estimate of a number nobody else will give you at all.

The second tension is the observer effect, and I have made peace with it. Show someone their ad diet and many will install a blocker the same day, at which point Exposed’s numbers drop toward zero. The tool’s success shrinks its own dataset. Fine. Exposed is a gateway drug to media literacy, and if its endgame is its own irrelevance on a given machine, it has done what a nutrition label is for.

And the third is hostility. Platforms have already shown, with legal letters, what they think of ad observation at scale. Exposed’s defenses are structural. It observes only the user’s own screen, for the user only, locally, which is about as defensible as observation gets. But an idea in this territory should know whose lawn it is standing on.

Monetization

Almost none, and on purpose. This is a civic instrument in the family of my Obscurantism Clock and Breachline, tools for seeing slow, ambient things. Free and open source as the default, a pay-what-you-want supporter model, and perhaps a modest paid tier for the research-mode tooling and long-horizon exports. A tool whose entire promise is “your data never leaves” has almost no business model compatible with that promise, and pretending otherwise would be the first crack in it.

Next Steps: How I’d Build It

The MVP is one browser, one filter-list-based detector, one local database, one weekly report page. No brand attribution yet, just volume, sites, and time, because “1,400 a week” is already the headline that has never been shown to anyone. Then the attribution layer, the diet report design, and the shareable card, which is the only growth engine a no-server product gets.

The real work is credibility: publish the methodology, publish the code, undercount rather than impress, and let the number be checkable. The first journalist who runs it for a month and writes “I counted” is the launch.

Closing

Exposed is the missing ledger of the attention economy, kept by the only party who never had one, you. It does not argue with advertising. It just counts, locally, and lets the number do what numbers do.

If you build this, tell me your weekly total. I have been guessing at mine for years, and I suspect the truth is worse than the guess, which is, come to think of it, exactly why this tool should exist.

Now Running

Nobody has claimed this one yet. The first build is up for grabs.

I'm building thisI've built itOpen Now Running

You owe me nothing, that's the deal. But thirty seconds in the form gets your project listed here, with a link, for as long as this site exists. In progress or already live, both count. Buttons not working? Write to hello@thelemanparadox.com.

Got inspired?

New ideas land in your inbox the day they're published. One email, no noise.

subscribe.exe

New files are written to disk regularly.

Get each new concept in your inbox the day it's published. One email, no noise.

START_HERE.txt - Notepad
claim.exe

Claim this idea. Thirty seconds, no account. Published on the board after a human read.

todo.txt - Notepad
Recycle Bin
BetOnAnything.ideaA market to bet on anything that exists. It exists now, worst site ever. Glad I never built it.
AdultMarket.ideaAsk for something, creators make it, you pay for the version you prefer. 99designs, for adult content.
SkipBlock.ideaSponsorBlock for the ads burned into adult videos: community-tagged skips, anonymous by design.
DataDam.ideaA box between your router and the internet that stops trackers before they ever leave home. Already exists (Pi-hole, Firewalla).
Snaptrack.ideaSnap a photo, get the one to three songs that match it.
RedditMirror.ideaConnect your Reddit account, let an AI tell you who you are from your subreddits, and rank you against everyone else.
VoiceMatch.ideaDating with no photos and no text: voices and voice notes only.
AgencyRater.ideaRate web agencies on 120 criteria and crown the best each year. Already exists (Clutch, Sortlist).
CamMap.ideaMap every surveillance camera in your city and check your own street. Already exists (sous-surveillance.net).
OctoPlan.ideaA one-year visual planner made of geometric octagons. The world had enough planners.
DoorEye.ideaA video peephole the exact size of a peephole. Already exists (Ring, Wyze).
ThumbTest.ideaA/B testing for YouTube titles and thumbnails. Already exists (vidIQ, TubeBuddy, then YouTube itself).
VoiceFeed.ideaA social network where every post is your voice, to the second. The microphone stayed shy.
SEOCoupons.ideaA coupon site only for SEO and tech software, with codes negotiated brand by brand.
LensIndex.ideaA quality-first directory of photographers, curated by hand.
CampusCrew.ideaStudents join startups and solo projects for a commission, a stake, or a job.
FixThisAudit.ideaEvery red flag in your SEO audit becomes a one-click freelance job.
TrailerPing.ideaShare any trailer link, get pinged on release day. The app stores answered first, forty times over; the rest is an iOS Shortcut.
18 object(s)
Restore is disabled.
My Pictures

20 image(s). Original cover artwork from an earlier era of the catalogue. The site moved on to its window-and-emoji vignettes; these stay here, because they were made with care.

All illustrations are original works by Maryna Lagereva. Double-click any picture to view it full size.

Original cover artwork for athoughtfor-me
athoughtfor-me.jpg
Original cover artwork for bethehero
bethehero.jpg
Original cover artwork for brbmail
brbmail.jpg
Original cover artwork for chronopiss
chronopiss.jpg
Original cover artwork for collective-heroism
collective-heroism.jpg
Original cover artwork for eventforge
eventforge.jpg
Original cover artwork for fanvault
fanvault.jpg
Original cover artwork for five-essentials
five-essentials.jpg
Original cover artwork for gpt-roulette
gpt-roulette.jpg
Original cover artwork for gpt-stat-central
gpt-stat-central.jpg
Original cover artwork for guardians-of-virtue
guardians-of-virtue.jpg
Original cover artwork for homeguard-drone
homeguard-drone.jpg
Original cover artwork for liminal-archive
liminal-archive.jpg
Original cover artwork for metaoptimize
metaoptimize.jpg
Original cover artwork for pixel-prints
pixel-prints.jpg
Original cover artwork for playpro-connect
playpro-connect.jpg
Original cover artwork for romeo-rocks
romeo-rocks.jpg
Original cover artwork for stress-buster
stress-buster.jpg
Original cover artwork for threatshield
threatshield.jpg
Original cover artwork for vertical-slices
vertical-slices.jpg
how-it-works.txt - Notepad
FileEditHelp
  1. Take an idea. Everything on this machine is published under CC BY 4.0: complete, free, no strings. You do not need my permission, my blessing, or my email to start.
  2. Tell me anyway. The "I'm building this" buttons open a thirty-second form (a short email works too), at either moment: when you start or when you ship. Name or alias, a link if you have one, one line about the project.
  3. Get listed. Your project goes on the board and on the idea's own page, with a link, for as long as this site exists. Launched projects take the top spot in their idea's history.

The assistant files every entry. He is very thorough. Buttons not working? Write to hello@thelemanparadox.com.

Minesweeper
GameHelp
010000