All posts

Someone is pretending to be a shop like yours

AI-built storefronts are impersonating not a brand but a genre — the small, local, family-run business. They tell that story better than most real shops do, and the bill for it lands on the real ones.

Identical hand-lettered CLOSING DOWN sale posters repeated across the windows of a shop at night.
Photo by Paul Lievens on Unsplash

Three shops, all of them lovely.

The first is run by twin sisters who took over the boutique their mother opened in 1972, and who describe a business “rooted in family, community and women uplifting women.”

The second sells hand-knitted winter sweaters. There is a photograph of the woman who makes them, mid-stitch. After decades of knitwear that tells “quiet stories of care and beauty,” she is closing her little studio. These are the last pieces.

The third is an old cap-maker, retiring after a lifetime at it, who needs to clear the last of his stock.

None of them exist.

How you can tell

The cap-maker gives it away, because there are three of him. Three separate sites, three different names, three men retiring after decades in the trade, with near-identical stories and the same stock photographs between them.

That was the thread an ABC News visual investigation pulled in January, and it unravelled into dozens of these shops — clothing, jewellery, lamps — all presenting themselves as down-on-their-luck craftspeople worth supporting. Two “different” boutiques offered the same Nordic sweaters from the same stock images. The domains had been registered abroad a few weeks earlier, timed for the Christmas run-up.

Australia’s competition regulator has been chasing the same pattern under the name ghost stores: overseas operations posing as local shops, running permanent closing-down sales, dropshipping cheap goods at boutique prices and sending returns back overseas at the customer’s expense. Since early 2025 it has taken more than 360 reports about 60 online retailers, and issued public warning notices against several. Its deputy chair put the harm precisely:

This conduct preys on the empathy of consumers who have a genuine desire to support local businesses.

Read that again, because it is the whole problem in one line. The thing being exploited is people’s goodwill towards you.

They are not copying a brand. They are copying a category

This is what makes it different from ordinary counterfeiting. Nobody here is pretending to be a famous label. They are pretending to be a small independent business — not yours specifically, but your entire genre.

And they are good at it, because that genre is the most trusted story on the internet. People want the twin sisters to be real. They want to buy the last sweater from the woman closing her studio. Generative tools made that story cheap to manufacture at scale: the backstory, the founder’s photograph, the warm, specific-sounding copy, the glowing reviews. A convincing shopfront now costs almost nothing to fake.

So the bill arrives on the doorstep of every business that actually is what it says it is.

In a survey of 1,043 adults this August, 53% said they had already run into a scam using AI-generated images or video. Retailers were the most impersonated category of all, at 40%. And only 36% felt confident they could spot one.

Put those together and you get the real damage. It is not mainly that fake shops steal sales. It is that half your customers have now been burned by a story that sounded exactly like yours, and two-thirds of them don’t trust themselves to tell the difference. Your true account of yourself now arrives pre-suspected.

The trap: you cannot out-story them

The instinct is to tell your story better. More warmth, more craft, more heritage.

It doesn’t work, and it is worth understanding why. Fiction has no constraints. An invented business can have whatever origin is most moving, whatever hardship is most urgent, whatever founder photograph tests best. A real business has an awkward, specific, slightly boring truth: you took over the lease in 2019, the name is your dad’s, the back room floods a bit.

In a competition for the most affecting story, the made-up shop wins every time. It was written to win.

So stop competing on the story and compete on the one thing the fakes structurally cannot produce: being checkable.

The three cap-makers weren’t exposed by bad writing. Their writing was fine. They were exposed by facts that didn’t survive contact with reality — the same photograph in two places, a domain three weeks old, an address nobody could stand outside of.

That is the test your website should be built to pass.

The fair question

devkoi builds websites with AI. Is this not the same tool?

It is the same tool. What differs is whether anything stands behind it. A machine can write the sentences either way — what it cannot do is supply a shop, a street, a Tuesday morning, or someone who picks up the phone. The fakes are not caught by their prose. They are caught where the prose meets a verifiable world.

Which is also exactly how you prove you are real. So: let it write. Don’t let it invent.

What to do this week

Each of these is one message. The sentence in quotes is all you need to send.

1. Put the checkable facts somewhere checkable. Full street address, a phone number a person answers, your trading name, how long you have been going. Fakes are vague about all four because they have to be.

“Add our full address, landline, trading name and ‘established 2019’ to the footer of every page.”

2. Send your own photographs. Yours, not good ones. This is the single thing that cannot be faked about you, and the slightly wonky photo of your actual counter beats a beautiful stock image of someone else’s. Real premises, real people, real mess. If we are ever building something for you and reach for a stock photo of a shop, ask us why.

“Here are twelve photos from my phone — the shop, the bench, the team, the van.”

3. Be specific where a fake has to be vague. “A family business since 1972” is a claim. “Above the launderette on Mill Road since 1972, and the sign still has the old phone code on it” is a fact someone can check. Odd, true, unglamorous detail is the strongest signal you own.

“Rewrite the About page around these five true details, including the bit about the flood.”

4. Stop using the scammers’ grammar. Closing-down sales. Countdown timers. “Only three left.” A tragic backstory with no checkable detail in it. These read as fraud now, even when you mean them — and especially when you mean them, because that is the exact costume.

“Take the countdown timer and the ‘last chance’ banner off the shop page.”

5. Say the unflattering logistics out loud. Where stock actually comes from, where returns actually go, who actually makes it. Ghost stores hide this because the answers convict them. Saying it plainly has quietly become a trust signal.

“Add a short, honest section on where our products are made and how returns work.”

6. Get on your own domain, and then stay there. A domain with years behind it is one of the few signals that is genuinely expensive to fake — the ghost stores were weeks old. The sooner the clock starts, the more it is worth later. Publishing on your own domain starts at $19 a month.

7. Show signs of life. A site that visibly changed this month is a site with someone behind it. Fakes are built once and abandoned. Post the new opening hours, the thing you are out of, the van being off the road on Thursday.

“Add a short note to the homepage: we’re closed Thursday, the van’s in for its MOT.”


There is something genuinely bleak about an industry that has worked out it is more profitable to imitate a struggling family business than to run one.

But the response is not to become a better storyteller. It is to become an easier one to verify — which, if you are actually real, is a much shorter job than it sounds. You already have everything it needs. It is mostly a matter of writing it down where someone can check it.

Connect devkoi to your assistant

devkoi runs as an MCP server. Add it once and build your site from the assistant you already have open.

Server URL

https://api.devkoi.com/mcp

Any MCP client that can talk to a remote server over HTTP will take this. The cards below are the shortcuts for the common ones.

Claude Code

One command
claude mcp add --transport http devkoi https://api.devkoi.com/mcp

Gemini CLI

One command
gemini mcp add --transport http devkoi https://api.devkoi.com/mcp

VS Code

One command
code --add-mcp '{"name":"devkoi","type":"http","url":"https://api.devkoi.com/mcp"}'

Cursor

Config file

~/.cursor/mcp.json

{
  "mcpServers": {
    "devkoi": {
      "url": "https://api.devkoi.com/mcp"
    }
  }
}

Claude desktop and web

Settings
  1. Settings
  2. Connectors
  3. Add custom connector
  4. Paste the URL above

ChatGPT

Settings
  1. Settings
  2. Connectors
  3. Add custom connector
  4. Paste the URL above

Menus move. If the steps do not match what is in front of you, the server URL is the only part that matters — add it wherever that client keeps its MCP servers.