You built it. Nobody came.

The app works. You have shown it to friends and they said it was clever. And still, week after week, the visitor count sits at almost zero. Let us go through the six reasons this happens, honestly, and find which one is yours.

Run the free check

A working app with no users almost never has a product problem first. It has a distribution problem: search engines cannot read the app, or the app is a single page so there is only one search it could ever match, or it lives on a free subdomain, or nothing anywhere on the internet mentions it, or the words on it are not the words anyone searches, or people arrive and leave within seconds. Diagnose which of the six applies before changing a single feature.

First, the thing nobody tells you

Before we begin, one piece of arithmetic that reframes everything. If your app has had, let us say, forty visitors since launch, and most of those were you checking whether the deploy worked, then you have not yet learned anything about whether people want what you built. You have learned that people have not seen it. These are entirely different problems and they have entirely different solutions.

This matters because the instinct, when nothing happens, is to go back into the editor and add features. It feels productive. It is the thing you know how to do. And it is almost always the wrong move at this stage, because a feature nobody sees cannot fail and cannot succeed. It simply sits there.

So the question is not yet whether the product is good. The question is why nobody has arrived. There are six common answers, and in our experience most stalled apps have three or four of them at the same time.

Branch one: search engines receive an empty page

Many apps built with AI tools are single-page applications. The server sends a nearly empty HTML file and a bundle of JavaScript, and the browser builds the page afterwards. A human sees a finished page. A search engine, depending on how it crawls and how patient it is, may see the empty file.

This is the failure everybody has heard about, which is why it is worth saying clearly that it is often not your problem. Several builder platforms now solve it for you. Lovable serves pre-rendered HTML to verified crawlers. Base44 serves real HTML and generates a sitemap automatically. If you are on one of those, the empty view-source you are panicking about may be completely normal.

The way to settle it is to ask Google rather than a third-party tool. Type site:yourdomain.com into Google. If your pages appear, Google can read your app and this branch is closed. If nothing appears at all, either Google has not found the site yet, which is a different branch, or it genuinely cannot read it.

  • Check with site:yourdomain.com in Google before assuming anything.
  • Use the URL Inspection tool in Search Console and read the rendered HTML that Google actually fetched. This is definitive.
  • Do not trust a free SEO scanner on a Lovable app. It is not on the verified crawler list and will report an empty page accurately, about a version of your site that Google never receives.

Branch two: your app is one page, so there is one possible search

This is the branch almost everybody has and almost nobody suspects, and it deserves the most attention on this page.

A page can be found for the things it talks about. Your app, most likely, is one page that talks about one thing: itself. That means there is exactly one search in the world that could plausibly bring somebody to it, and that search is the name of the category you are in, which is the single most competitive phrasing available and is already occupied by companies with ten years of history.

Meanwhile the person who needs your product is not searching for your category. They do not know what the solution is called. They are searching for their problem, in their own words, in the form of a question. Every one of those questions is a page you have not written.

The fix is not glamorous and it works: list thirty questions your product answers, and write a real page for each one. Thirty pages means thirty doors into your app instead of one. This is the single highest-leverage thing most stalled apps can do.

Branch three: you are still on the free subdomain

If your app lives at something like my-project-a7f3.lovable.app or a similar generated address, you are asking to be taken seriously by both search engines and humans while wearing somebody else's name.

Base44 states this outright in its own documentation: its SEO setup is designed and supported for apps published on a custom domain, and the free generated URLs are not intended for long-term production SEO. Other platforms are less explicit but behave similarly.

There is also the human side. Somebody deciding whether to type their email into your app looks at the address bar. A generated subdomain says this is a weekend experiment. A real domain says somebody is standing behind this. The domain costs about as much as two coffees per year and it is the cheapest credibility you will ever buy.

Branch four: nothing outside your site mentions you

Search engines and AI assistants both work, in part, by noticing that other places on the internet talk about a thing. If your app exists only at your own domain, and no directory lists it, no forum thread mentions it, no repository links to it, then from the outside it looks like it may not exist at all.

This is the branch that quietly limits everything else. You can fix the rendering, write thirty pages, buy the domain, and still move slowly, because a brand new domain with nothing pointing at it has no reason to be trusted yet.

The good news is that the first ten mentions are the easiest ten you will ever get, and none of them require you to know anybody.

  • Submit to the directories that genuinely index new products, and make each listing description different rather than pasting the same paragraph everywhere.
  • Put the live URL in your repository description and README, and link it from your own profile pages.
  • Answer questions in the communities where your users already are, properly and without a link, until you have enough history that a link is welcome.
  • Write the one post only you could write, about the specific thing you learned building this, and put it where builders read.

Branch five: nobody searches for the words you used

Founders name things aspirationally. You called it a workspace, or a platform, or an operating system for something. Your user calls it a to-do list, and that is what they type.

Read your own homepage as a stranger would. Count how many sentences describe what the thing does in the plain words a person would use, and how many describe what it represents. If the second number is bigger, you have a vocabulary problem, and no amount of technical fixing will solve it, because you cannot be found for words nobody types.

This applies with double force inside AI assistants. When somebody asks ChatGPT to recommend a tool for a task, the assistant is matching the task described to descriptions of tools. If your description is abstract, there is nothing to match against.

Branch six: they arrive and they leave

This is the only branch where the answer might genuinely be the product, and it is the last one to consider rather than the first, because you can only judge it once branches one to five are handled and real visitors are arriving.

The signal to look for is visitors who land and leave within a few seconds without touching anything. If that is happening consistently, the page is not making a promise the visitor understands quickly enough. Usually the fix is the first sentence: say what the thing does and who it is for, in plain language, above the fold, before any decorative animation.

If people do try it and then never return, that is a product conversation and it is a real one. But you need traffic before you can have it.

The order to do this in

Order matters here more than people expect, because several of these fixes are wasted effort if done in the wrong sequence. Writing thirty pages before buying the domain means moving all thirty later. Chasing mentions before the app is readable means sending people to something search engines cannot process.

The sequence that works:

  • One: buy and connect the custom domain. Everything else builds on this address, so it must be the final one.
  • Two: confirm search engines and AI crawlers can read the app, and fix it if they cannot.
  • Three: set up Search Console, submit a sitemap, and get the existing pages indexed.
  • Four: write the plain-language description, on the homepage, in the meta tags, and in every directory listing.
  • Five: write the question pages, a few each week, permanently.
  • Six: earn the first mentions, in directories and in communities.
  • Seven: once real visitors arrive, and only then, read their behaviour and improve the product.

What to honestly expect

Two timelines run in parallel, and they run at very different speeds.

Google is slow with a new domain. It has no history to judge you on, so it waits. Impressions can appear within weeks, meaningful clicks usually take months, and there is no way to hurry it that is also safe.

AI assistants do not work that way. They do not check how old your domain is before deciding whether a page answers the question in front of them. This is why a new product can appear inside a ChatGPT answer long before it appears on page one of Google, and it is why we tell builders to treat the AI channel as the first one rather than the last.

We have watched this happen on a domain we know well. Kurli.me was registered on 27 July 2026, a matter of public record. In the first twenty-five days of that domain's life, ChatGPT sent it 56 visitors and Google Search sent 23. Small numbers, both of them, and that is the point: at the very beginning, when Google has nothing to go on, the AI assistants are already sending more.

Every part of this, in detail

Each section below is a full guide of its own, on one specific piece of the problem.

  • The first 100 users: Everybody hopes for the single moment that changes everything: the launch that goes big, the post that travels. It occasionally happens. Planning for it is how most products die quietly.
  • Product Hunt flopped: You picked the day, wrote the tagline, made the images, stayed up for the midnight posting, and by evening you had a handful of upvotes and two visitors who were not you. Here is the mechanism behind that, plainly.
  • Only I use it: You open the analytics dashboard for the fourth time today. Six visitors this week. You can account for five of them, because they were you, on different devices. This is a specific and very common moment, and it has a specific answer.
  • Six months, still flat: This is different from launching last week. Six months of a flat line is data, and it is telling you something specific. In our experience four things explain almost all of these, and the one everybody assumes is rarely the real one.
  • Reddit removed my post: You found the perfect community. People there were describing exactly the problem you solved. You posted, politely, with a link. Within an hour it was gone, and possibly your account with it.
  • Is it the product?: Silence feels like judgement. It usually is not. And the difference matters enormously, because one of these problems is solved by months of building and the other is made worse by it.
  • Marketing for developers: You did not build a product in order to become a marketer. The good news is that most of what actually works for a small technical product is closer to engineering than to advertising, and the parts that feel worst are largely optional.

Part of a larger guide

This page is one part of Vibe coding SEO. The other parts:

Questions people ask

Why does nobody use the app I built?
Almost always because almost nobody has seen it. The six usual causes are: search engines receive an empty page, the app is a single page so there is only one possible search, it is still on a free subdomain, nothing outside the site mentions it, the words on the page are not the words people search, or visitors arrive and leave immediately. Most stalled apps have three or four of these at once.
Should I add more features if nobody is using my app?
Not yet. A feature nobody sees can neither succeed nor fail, so building more of them teaches you nothing. Until real visitors are arriving, you have no information about whether the product is right, only information about whether it is visible. Fix the visibility first, then read what the visitors do.
How long until Google sends traffic to a new app?
Longer than most builders expect. A new domain has no history for Google to judge, so it is cautious. Impressions can start within weeks of the pages being indexed, but meaningful clicks usually take months, and there is no safe way to speed that up. This is precisely why the AI assistant channel matters so much at the beginning.
Can a brand new app get traffic from ChatGPT?
Yes, and considerably faster than from Google, because an AI assistant answering a question does not check how old the domain is. Kurli.me, registered on 27 July 2026, received 56 visits from ChatGPT and 23 from Google Search in the first twenty-five days of the domain's existence.
Is my problem the product or the marketing?
You cannot know until people arrive. The way to tell them apart is behaviour: if visitors land and leave within seconds, the page is not explaining itself. If they try the product properly and never come back, that is a genuine product signal. Both require traffic before they mean anything.
What is the single most valuable thing to fix first?
Connect a custom domain, because every other fix is built on that address and doing it later means redoing the rest. After that, confirm search engines can actually read the app, then start writing one page for each real question your product answers.
My SEO checker says my page is empty. Is my app broken?
Possibly not. Some platforms serve pre-rendered HTML only to verified crawlers such as Google, Bing and the AI engines, and a third-party scanner is not on that list, so it accurately reports an empty page about a version of your site Google never receives. Check with site:yourdomain.com in Google, or the URL Inspection tool in Search Console, before you rebuild anything.

Find out which branch is yours in sixty seconds

Run the free Get Found Check on your domain. It shows what search engines and AI assistants are actually receiving from your app right now, so you can stop guessing which of the six problems you have.

Run the free check Have Licheo do it for you