1.6 million views, 41 signups
Jonathan Wilke launched outbid.lol on 19 August 2026 at 11:08pm. His launch post crossed 1.6 million views and more than 800 likes. instabid.lol exists because of that post. We built the Instagram version of the same mechanic: add your handle, outbid whoever is above you.
Total profiles ever created in our database: 41.
That is the article. The rest is the measurement of the gap. Attention on X is not demand. We now have a table that says so in rows.
A viral object is not a customer
The original board ranked products by cash bid. The unit was a URL. Founders were already looking at the page, and founders were the buyers. A late-night tweet could become a checkout because the audience and the customer sat in the same room.
We pointed the sentence at Instagram. The unit became a public handle. Rank was still the bid. For a stretch the homepage asked $110 to claim the number one spot. The only button on the page went to checkout. There was no free option anywhere on the site.
Five of the 41 rows ever became visible listings. Follower counts on that board ranged from 4 to 679,640,459. The list was not empty because Instagram lacked famous accounts. It was empty because almost nobody finished.
Copying a mechanic copies the interface. It does not copy the graph underneath Wilke’s screenshot. 1.6 million views belong to his post. 41 rows belong to us. Treating the first number as a forecast of the second is the error this post is about.
The 36 hidden rows are the damning number
If you only look at the homepage you see five names. That is the polite view of the data. The database is ruder.
Our checkout creates a hidden reservation row before it redirects to payment. The site needs a place to park the handle so that a successful payment can unhide the listing. Until payment completes, the row sits with is_hidden=1 and price=0. It is not on the board. It is a receipt for an unpaid attempt.
Thirty-six of the 41 profiles are those receipts. People typed a handle, reached the payment page, and left. That is an 88 percent abandonment rate at the paywall.
This is worse than a quiet homepage. A quiet homepage can mean the post never reached anyone who might care. A hidden reservation means someone arrived, understood the ask, and still refused. They got as far as checkout. Demand did not.
We can argue about the $110 price. We can argue about whether a joke board should have asked for a card at all. We cannot argue that nobody saw the product. Thirty-six people saw it hard enough to generate a row that exists only because they clicked through to pay.
A bounce from the landing page is indifference. A row with is_hidden=1 is a decision. The visitor did the work of picking a handle, accepted a redirect, and then declined to finish. That is the closest thing we have to a recorded no.
The five visible listings are the ones who completed. Everyone else is still in the table, still hidden, still priced at zero, still not on the board. If we had only published the public leaderboard, we could have told ourselves the story of a small but real start. The reservation rows close that story. Most of our “signups” were never listings. They were abandoned checkouts with a username attached.
That is the most useful failure we have. Not a vibe. A schema.
We offered cash. Four people took it.
The paywall was not the only lever. We ran a launch promotion that paid cash rewards to the first 15 signups, $50 down to $1. The point was to seed the board so a screenshot would have names on it.
Four of the 15 slots were claimed.
We were offering people money to finish, and most of the slots stayed empty. Price, as an explanation, does not survive that fact. If the objection were “$110 is too much,” a $50 reward for being early should have produced a queue. It produced four.
A promotion like that is supposed to buy density. Density is what makes a leaderboard look real. Without it, the screenshot is a product with no punchline: a number-one price and a mostly blank list. We tried to purchase the punchline. The market declined even when the net price of signing up was negative.
That is stronger evidence than the 88 percent figure, because the 88 percent still leaves room for “the card form was ugly” or “I do not trust this checkout.” Paying people to complete the form closes those doors. Friction that survives a cash incentive is not friction. It is a no.

Four of fifteen reward slots claimed. We were paying people to finish and they still walked.
The remaining 11 unclaimed slots sit next to the 36 hidden rows as two views of the same refusal. One table says people reached payment and left. The other says they would not finish even when finishing paid. Together they rule out the comforting read: that we almost had a market, and only the sticker was wrong.
We did not almost have a market. We had a mechanic, a button, and a reward ladder. Four people walked down it.
Attention is not demand
Build in public treats a view as a leading indicator of a customer. Years of indie Twitter made that substitution feel responsible. Post the screenshot. Post the launch. The crowd that watches you ship is, in the story, the crowd that pays.
It is not. Max, writing on Indie Hackers, put the distinction in the title: your build-in-public audience is not your market. One of his posts did 500 views and 50 comments in a day. Then he looked at the thread: founders, builders, other indie hackers. Not the freelancers he sold to. Applause measured the post. It did not measure the product. He now keeps those numbers on separate dashboards.
We did not need months. We had a payment page. Views on Wilke’s launch were attention: people looking at a mechanic, quoting it, cloning it. The 41 rows are our demand sample. Five converted into a public listing. The rest are the gap, written down.
Indie Hackers has also asked whether the practice is ending. The public case there is that builders who used to share everything are going quiet to protect a business once copycats show up around real revenue. Share early, hide later. The quieter issue is rooms. A feed of makers is a room. A market is a different room. Confusing them is the strategy.
Pieter Levels argued this year that indie hackers may be the first type of developer to go extinct as AI drops the cost of execution. His framing matches the week we just had. AI raises the ceiling and lowers the floor, so the feed fills with people who can vibe-code a clone of whatever just did 1.6 million views. A board is cheap. A landing page is cheap. The scarce thing is a buyer who wants the row.
A 2026 review of the practice at BoilerplateHub described build in public as having produced some real careers and also “a lot of theater”. Theater is not an insult here. It is a category. A launch screenshot is theater when the audience is other builders and the product is for Instagram handles. The theater can be well attended. Demand was the 41.

The view from 1.6 million impressions. The board underneath it had five rows.
Attention is people looking. Demand is people completing. We had a machine that counted both. They did not move together.
Wilke’s overlap was real: founders watching founders buy rank on a page of founders. Ours was assumed. Instagram users were supposed to want a paid public ranking because a tweet about a paid public ranking had travelled. That is a category error. A post going viral inside a maker feed tells you the feed liked the object. It does not tell you the object has buyers.
The homepage that only sold
For a while the site was a single action. Claim number one for $110, or leave. No browse-and-add. No free listing you might later boost. The product and the invoice were the same object.
The person who would spend to outrank a competitor URL on a page full of founders is not the person who would spend to put a handle above a stranger with 679 million followers. We still charged as if they were the same person. The $110 button was a test of that assumption. It failed in the reservation table, then failed again in the reward table.
The five visible listings are what survived. They are a real board. They are also too few to treat as a market. A range from 4 followers to 679,640,459 tells you the form accepted almost any public handle. It does not tell you those handles wanted to be there enough to pull anyone else in.
Listing is free because that is the correct order
The fix we shipped is not a rebrand. It is a reordering.
Listing is now free. Every handle that lands on the board gets an AI-generated collectible character, built from its profile photo and its real Instagram stats. The character is the object you can screenshot. The stats stay attached so the inversion is still visible: a four-follower account and a 679-million-follower account can sit in the same visual language, ranked by something other than the number Instagram already printed.
Free-first is the correct order because we never earned the right to charge. You charge after density, after a reason to return, after a screenshot a stranger would post without being paid. We asked for the card before any of that existed. The hidden rows are what that sequence produces.
The character is the new first transaction. Not money. A thing you get for showing up, tied to a real profile. If people want that object, the board fills. If they want rank badly enough after they have a row, a paid outbid can come back. If they do not, we will know from empty boards, not from abandoned checkouts.
The evidence said the paywall was not a filter on quality. It was a wall in front of the product. Removing it does not prove demand exists. It stops us from counting refusal to pay as proof that the product was seen.
What we still do not know
We do not know whether free listing fills the board. We have not run that experiment long enough to pretend we have.
We do not know whether Instagram users want a public ranking of handles at all, paid or not. The 36 abandoned checkouts could mean “not at this price.” They could mean “not this object.” A cash reward that went unclaimed leans toward the second reading, but it is still a lean. People ignore free money for a lot of reasons, including suspicion that the money is not real.
We do not know if the collectible character is a product or a garnish. Generating a figurine from a profile photo is a concrete artifact. It is also easy to admire without adding your handle. Admiration is attention. We have been specific about what that is worth.
We do not know how much of the original 1.6 million was ever available to us. That number belongs to Wilke’s post, not to our logs. Copying a mechanic does not copy an audience. We have 41 rows. We do not have a view count that would make those 41 look like a conversion rate, and we will not invent one.
We do not know if build in public is ending, evolving, or just arguing with itself. The Indie Hackers threads are other people’s evidence. Ours is a table with 41 records, 36 of them hidden, 4 of 15 reward slots claimed, and a homepage that once asked $110 for a button. The gap between attention and demand is measurable here. What sits on the other side of that gap is still an open question. The next numbers we publish will be about whether anyone wanted the free row.