Product type
Code
Vibe understands what you built, finds what is holding the business back, and prepares the next step — with your approval before anything merges.
Start with GitHubNo credit card to startYou can put a working product on the internet in a weekend now. What still takes months is finding out why nobody is paying for it — and the answers are not in the code you just wrote.
Does the page say what this is, in words somebody outside your head would use?
Who is it for — and does anything on the site say so?
How would somebody who needs this ever find it?
They arrived. What happened between landing and signing up?
Is anything recording whether that worked?
The Product Scan reads your code and your live product in one pass and comes back with a picture of the product: what kind of thing it is, what it can do, who it appears to be for, and how it charges. Assembled from evidence, not from a form you fill in.
Rests oncode✓public productsigned-in productwhat you told Vibe✓
And it says where it could not look. A page that builds itself in the visitor's browser is an empty shell to a scan, and everything behind your sign-in stays invisible until you say otherwise.
Vibe reads your product against the nine things that decide whether it becomes a business. Each one is scored against evidence you can open — and an area it cannot see stays unscored. Never scored zero, never averaged in. That is the difference between a judgement and a number.
Why should someone choose this product?
Who cares enough about this problem to act?
How does the value become sustainable revenue?
How do the right people discover it?
How does interest become value and payment?
Why would someone return and keep paying?
Can the founder tell what is working?
What still blocks this becoming a credible business?
What happens to cost and operations as it grows?
A report hands you everything it found and calls the ranking your job. Vibe ranks it — by what it costs you to leave alone — and shows what it set aside to get there.
Every visitor who wanted to buy today could not, and nothing on the page told them why.
Vibe found a payments library in your code and no reachable checkout on your site.
A Move is a proposal. Vibe does not start it, touch a branch or spend anything until you say so — and it tells you what it would cost before you do.
When you start a Move, Vibe prepares the change itself — in a machine of its own, on a branch of its own. Three gates open on evidence Vibe gathered about its own work. The fourth has nothing on the inside to open it. Every panel below is a screen from the product, on example data.
Vibe reads your repository again at the exact commit the analysis was made on — not at whatever the branch has become since.
The repository is still where the analysis left it.
A branch that moved stops the run before anything is prepared. Vibe does not reason about the difference, and it does not merge to close it.
A sandbox clones that commit and the agent works inside it. The machine holds no credential of yours and no lasting key of ours: it cannot reach your account, your database or anything you deploy.
Every file in the change is one Vibe read back out of the workspace itself.
Vibe never takes the agent's account of its own work. A reading it cannot complete fails the run instead of becoming a partial change.
Your project's own checks run in a second isolated machine, with the network switched off before the first command out of your repository is allowed to run.
Fast checks — a low-risk presentational change. Vibe did not run tests and the production build for this change.
The commands your project defines exit zero.
The change stays on its branch and Vibe names the check that stopped it. A pass means those commands exited zero — never that the change is safe, correct or ready, and Vibe will not word it as though it were.
The branch served on an address of its own, so you can open the change rather than read a description of it. A change that touches no page has nothing to serve, and Vibe says so instead of offering you a preview of a page that did not move.
You approve one exact commit.
This one has no mechanism on the inside. Vibe approves nothing on your behalf, and your approval binds to that commit — not to the branch, and not to whatever the branch becomes afterwards.
Vibe reads GitHub again, right then, and fast-forwards your default branch to exactly the commit you approved — or refuses. It never merges, rebases, forces or deletes anything to get there.
Merged means one thing: your default branch points at that commit, and Vibe read it back to check. It does not mean deployed — Vibe calls no deployment provider at all. Moving a default branch can still start your own pipeline, which is why Vibe tells you that before the button and not after it.
This change cost 200 Credits.
Nova is what your project opens on: not a wall of numbers, but the one thing that needs you now, said in a sentence. Below are five things she actually says — and three of them are the kind most products would never put on a marketing page.
Needs a decision
There is a change waiting for you to look at.
Your turn. Nova will not press it for you.
Needs your answer
I stopped part-way and need something from you.
She stops rather than guessing — and nothing is spent while she waits for you.
Did not pass
A check on one of your changes did not pass.
Bad news arrives in the same voice as good news, and never dressed as a success.
Out of date
What I know about your code is older than your code.
She says when what she is showing you rests on a reading that has gone stale.
Nothing needs you right now.
And when there is nothing, she says so. A product that always has something for you is a product inventing work.
After a change lands there are three questions, in rising order of what you actually care about. Vibe is certain of the first, goes and looks for the second, and refuses the third unless you have connected something that can answer it.
The lines below are example data. The words are not: every check label and every result here is written by the product, in the wording it uses on your own screen.
Your default branch points at the commit you approved.
Vibe wrote it, then read GitHub again to confirm the branch is where it should be. This is the one of the three it is certain about.
It does not say deployed. Vibe calls no deployment provider, and it has no way to know which build is serving your site.
The pages the change touched are being served.
Vibe checks that the pages this change touched are still being served. It cannot tell you whether the new version is the one serving them, and it does not read what is on the page.
Not observed is not a failed deployment: it says the expected behaviour was not visible inside the window, and that Vibe does not know why. A check that did not pass is never left off the list.
Whether it changed your business.
This one needs a source you connected. With one, Vibe measures a single metric against its baseline over a window and reports what it found — improved, degraded, no meaningful change, or insufficient data. Without one it says so and stops.
"Not measured — no source" never becomes "no impact". An unmeasured change is unmeasured, and calling that a result would be inventing one.
Most products stop after the first rung and let the green tick imply the third.
Files are read through GitHub into memory, under a budget, and what survives the reading is a sentence. No clone, no checkout and no working tree of your repository ever exists inside Vibe — the sandbox that runs your code clones it itself, and is destroyed with it.
src/app/page.tsx
A Next.js application, 14 routes, one of them public.
package.json
Payments are a dependency here — nothing charges yet.
README.md
What the product says it is for. The path, never the text.
.env.local
Never opened. That this file exists is a fact about your product. What is in it is not Vibe's.
certs/private.key
Never opened. Refused on the name, before anything gets as far as asking for the bytes.
What Vibe concluded, and the evidence paths that justify it — so you can open the file it read and check the sentence against it.
Your source, your README's text, your manifests, lockfiles and configs. From your live site: no HTML, no page text, no cookies, and no query strings — those carry tokens and email addresses often enough that the whole string is refused.
The Product Scan is free, so you can see what Vibe makes of your product before spending anything. A paid month is a grant of Credits, and every action that spends them shows its price at the control that starts it. Pay by the year and two of the twelve months are not charged.
2 months free
€0/ month
100 Welcome Credits, once
€19/ month
1,000 Credits each paid month
€49/ month
3,000 Credits each paid month
Nobody hands over the repository their company runs on because a page said to. So here are the objections worth having, and what the product does about each one.
Sometimes it will. What it will not do is hide which part was a reading, which was a judgement, and which was never looked at — and an area it cannot assess stays unscored rather than scored zero. Every sentence opens onto the evidence under it, so you can disagree with something specific.
It never goes near it. Work happens on a branch of its own, inside a machine of its own that holds no credential of yours. Your default branch moves only when you approve one exact commit — by fast-forward to that commit, or not at all.
Then the Product Scan costs nothing, and it will tell you what Vibe can already see in what you built. Where there is not enough to judge something, it says so instead of producing a number.
You do not get one. Your project opens on the one thing that needs you next, in a sentence. On a day when nothing does, it says nothing needs you — which is the part a product with a dashboard to fill can never say.
Connect a GitHub repository. That is the setup; everything after it is Vibe reading your product, and you watch it happen rather than filling in a form about it.
Bring the product you already built. Vibe reads it, tells you where the business actually stands, and prepares the next step — with your approval before anything merges.
And if there is nothing worth doing yet, Vibe will say that too.