The Earnings Looked Real. Then I Checked the Code.
“Yesterday's earnings” is a fairly specific thing to put above a list of dollar amounts. I read it the way I think most people would: these are people who earned this money yesterday.
Local draft for review.
My AI research agent came across DramaCPS. It's an affiliate platform advertising commissions of 45–65% for promoting short dramas. What caught my attention was the leaderboard: promoters apparently earning thousands of dollars in a day, with partially hidden email addresses and a ranking from highest to lowest.
Above the ranking, the page said, “You can do it too!” Next to those amounts, it read like an invitation to join people who were already making money. It made the platform look credible.

I asked an AI agent to check the research before relying on it. That check included inspecting the JavaScript the site sends to visitors' browsers. The earnings values turned out to come from a random-number generator.
This is the earnings function exactly as it appears in the file checked on September 7:

kz=()=>Math.floor(Math.random()*9e3)+4e3The compact notation makes it harder to read: 9e3 means 9,000, and 4e3 means 4,000. The function picks a random whole number between 4,000 and 12,999. No sales or commissions go into that calculation.
The code creates ten entries with generated account labels, earnings, and growth percentages, then ranks them. The check also traced that generated list to the earnings displayed on the homepage.
I felt deceived. I had read those amounts as information about the business my agent had found. They were presented as something that had happened yesterday, right down to individual accounts and growth percentages. Instead, they were made up in the browser.
Refreshing the Page Wouldn't Reveal It
The code also saves the ranking in your browser, using localStorage, along with the date it was generated. Visit again that day, and it reuses the saved list. On a later day, it generates a new one.
So you could refresh the page and see the same accounts and amounts. That makes the figures feel more credible, even though all it tells you is that your browser remembered them.
I don't know whether DramaCPS has paid affiliates. What I could establish was that this leaderboard wasn't a record of their earnings. The same mechanism was present in both the August 24 inspection and the September 7 recheck.
A Page Can Work and Still Mislead You
DramaCPS was built with Lovable, an AI website builder. Its homepage still references a lovable.app address in the metadata. That makes this a concrete example of something that concerns me about vibe coding: a page can look like it belongs to an established business long before there's anything behind its most convincing details.
Imagine reviewing that leaderboard while building the page. The amounts fit, the entries sort correctly, and the ranking stays consistent when you refresh. You might be checking exactly the things you asked the AI builder to implement. Generated data can be useful at that stage: it lets you see the component before you have actual earnings to display.
A visitor has a different set of questions. Who earned this money? Through this program? Yesterday? The heading appears to answer all three. They have no reason to read the amounts as a layout demonstration, especially with “You can do it too!” sitting above them. Something that helps a builder check a design becomes a claim about the business as soon as it's presented that way to the public.
That's the gap I want us to take seriously when we talk about whether an AI-built page is ready. Checking that a leaderboard works won't tell you whether it has any business being on the page yet. Without verified earnings, leaving it out may be the right decision, even if it looks good and took effort to build. Otherwise, the visitor is left to discover a missing piece of the product that the design gives them no reason to suspect.
What We Ask People to Believe
I can't tell who wrote this function or why it was published. But whoever puts the page online is responsible for what it tells people. If those numbers are examples, that needs to be clear where they appear. A visitor deciding whether to sign up or spend time promoting the service shouldn't have to guess.
What stayed with me was how little the page gave a visitor to question. With AI tools, we can build that kind of convincing detail quickly. Here, the page said people had earned money yesterday. The code had simply picked numbers.
Continue Reading
The Agent Said “Done.” What Did It Actually Prove?
The code changed. The tests were green. The agent said the bug was fixed. One question stopped me from moving it forward: what did those results actually prove?