4 live sites · 362 clicks · raw Google data below
Six specialists used to build this. Now it is one command.
A fully automated agentic pipeline. It runs on your machine, not ours, and it drives whichever coding agent you already use.
Keyword research, niche scoring, domain vetting, design, build, technical SEO and monitoring. That is a research analyst, a strategist, a designer, a developer and an SEO specialist, plus somebody to keep it alive. Now it's one pipeline. You run it yourself, once, for 199 dollars.
- Research analystkeyword expansion, 50 live SERPs sampled, difficulty as a distribution
- Strategistsix-factor viability score, and a kill verdict below 40
- Brand and legal screen.com generation, live RDAP, trademark and prior-use gates
- Designerfour vendored design prompts and a ten-dimension acceptance rubric
- Developerstatic build, every third party request stripped, deploy to your own accounts
- SEO specialisttitles, schema, internal links, sitemap, Core Web Vitals budgets
Opens the niche score tool, which runs the same six-factor model the pipeline uses at L01. Scores are computed from the inputs you supply. They are not a forecast of traffic or revenue.
Six of the thirteen layer contracts, L00 intake through L12 monitor. Nothing on this page animates and nothing here is a recording of a run.
What every layer has to emit
A layer is not a prompt. It is a contract: what it may read, the single artifact it must write, the algorithm, the execution class, the JSON Schema that artifact is validated against, and the gates the artifact is judged by. Nothing advances on a failed gate, and a blocking gate that returns SKIP fails the layer exactly as FAIL does, because "could not check" is not "fine".
- artifact
- one JSON per layer, atomic write
- layer gates
- 204, of which 182 blocking
- sprint gates
- 191 across 7 stages, 181 blocking
- assertions
- 157 in use, every one implemented
- on re-run
- downstream artifacts invalidated, not deleted
- unknown values
- propagate as null, never as a default
Read it before you trust it
All fourFour sites, and the Search Console data behind them
Measured to 2026-07-29These four sites were produced with this pipeline. Each one is live, each one is linked below, and the Google Search Console export for each is downloadable as the raw CSV bundle Google itself emits. The numbers here were computed from those files, not typed in by hand.
One of the four is barely working. goldgramprice.com has 6,531 impressions and 2 clicks. It is indexed, it is being shown, and it is not yet being clicked. It's in this table for the same reason the others are: a results section that only contains winners is not evidence, it is selection.
| Site | Clicks | Impressions | CTR | Days | Pages |
|---|---|---|---|---|---|
| ingredientcalculator.com | 240 | 17,673 | 1.36% | 86 | 26 |
| lakelevelnow.com | 106 | 14,410 | 0.74% | 39 | 73 |
| ml0x.com | 14 | 1,399 | 1.00% | 91 | 36 |
| goldgramprice.com | 2 | 6,531 | 0.03% | 40 | 33 |
Totals across the four sites, computed from their Google Search Console exports: 362 clicks and 40,013 impressions. Each window is that property's own Search Console range ending 2026-07-29, so the windows differ and the totals are a sum across four different periods rather than a like-for-like comparison. Position is not averaged here because averaging a position across properties produces a number that describes nothing.
What they look like
Live, click throughFour different visual systems, on purpose. A pipeline that emits one template with different colours gives every site it produces the same fingerprint, and a pattern-level action then hits all of them in the same week. Template diversity is a gated output, not a preference.
Download the raw data
Unedited GSC exportEach bundle is the export Search Console produces: daily chart, queries, pages, countries, devices, and the filter set that produced it. Nothing was removed or reordered. Recompute the table above from these files and you should get the same numbers.
This site was built with the same pipeline. The page you are reading is its own smallest piece of evidence.
What this section is not: a forecast. It is four measured properties over their own windows. It is not a base rate, because four is not a sample, and it is not a claim about what a fifth site would do. Search Console reports what Google chose to show and chose to count, and nothing here promises traffic, rankings or indexation for any site you build.
Who built this
Verifiable, not assertedThis pipeline was built by Michael Lip, a solo developer with 1,047 public repositories on GitHub since 2019 and 140 or more pull requests merged into Google Chrome, axios and NiceHash.
One person wrote the layer contracts, the gate suite, the CLI and the agent prompts. That cuts both ways. There's no team behind this, and there's nobody between you and the person who wrote it either.
Extension figures are the Chrome Web Store counts as of 2026-07-31 and move on their own. Check the listing rather than trusting this page. Twenty Chrome extensions have shipped in total; BeLikeNative is the largest.
What those four numbers prove is narrow. They prove the person who wrote this ships software that thousands of people choose to keep installed, and that code of his has been accepted into projects with a far higher bar than his own. None of it proves that this pipeline will get your site traffic. Different claim, and only the first one is evidenced here.
The repository grades itself
It ships a script that reports its own state and exits non-zero if the tree is inconsistent. Here is the entire output, unedited.
AI Website Pipeline - state report ------------------------------------------------------------------------ [1] Python modules compile OK 18 modules [2] Layer contracts present 13 layers, 0 missing files [3] gates.json parse + gate count 204 gates (182 blocking), 0 parse failures [4] Assertion coverage OK every assertion in use is implemented [5] Contract validation (awp doctor) Errors: 0 Warnings: 0 [6] Vendored design prompts 4 prompt files [7] Domain engine (offline: generation + filter + scoring) 288 raw, 282 kept, 6 rejected top: coffeegrinder.com score=0.846 coverage=0.70 unscreened=tm_clear,history_clean coverage below 1.0 is expected: trademark and history are unscreened here [8] Sprint track (GEO growth) 7 stages, 0 missing files 191 sprint gates, 0 parse failures, 0 contract problems [9] Fleet keyword registry 0 claims (0 active), 0 cross-domain conflicts [10] Sales assets index.html present, 0 external references (must be 0) [11] NASA Power of 10 audit OK no build-failing violations (rules 1, 4, 7, 8, 9) rule 5 540 functions, 987 checks, mean 1.83 checks per function [12] Regression suite OK Ran 348 tests [13] Gate/schema cross-check OK no gate contradicts its own schema MISMATCH=15 NOTE=48 [14] External dependencies (informational) OK every declared external input is present ------------------------------------------------------------------------ State: consistent and complete. Network checks (live RDAP) are not run here. Use: ./awp domains <run_id>
Measured 2026-07-31. The script prints the repository's internal name, which is AI Website Pipeline; the product sold on this page is that repository. Scroll the block horizontally on a narrow screen.
Check 10 is not decoration. The script verifies that the sales page contains zero external network references, because a page selling a pipeline that vendors away third party dependencies should not itself load a font from someone else's server. This page loads nothing at all: no CDN, no scripts, no analytics, no iframes, no images, and both typefaces are served from this origin. It renders complete from its own bytes.
Check 13 is on the page for the same reason. It reports fifteen mismatches between a gate and the schema of the stage it belongs to. A mismatch is not a contradiction, and no gate here contradicts its own schema, which is why the check passes. But it is fifteen places where one of the two is out of date, and printing that number is cheaper than pretending it is zero.
What the headline looks like in a terminal
The domain vetting layer, evaluated against a real artifact produced by a real query to the .com registry. Nine gates pass. Read gate 04.
L03-domain-vetting gate evaluation ------------------------------------------------------------------------ PASS G-L03-01 len(shortlist)=10 min=3 PASS G-L03-02 all 10 items have availability.availability_source='rdap' (0 exempted) PASS G-L03-03 all 10 items have availability.rdap_status_code=404 (0 exempted) FAIL G-L03-04 20 of 20 flags are absent; cannot prove none are true: ['#0.trademark.tm_disqualified', '#0.history.hist_disqualified', '#1.trademark.tm_disqualified', ...] +15 more PASS G-L03-05 sum(weights)=1.0000000000000002 over 7 values, target=1, |delta|=2.22e-16 <= tol 1e-09 PASS G-L03-06 all 200 values across 40 items within [0, 1]; 80 null and permitted PASS G-L03-07 shortlist.0.score=80.49 min=70 WARN G-L03-08 40/40=1.000 of evaluated match (op='ne' value='checked'), max=0.3 PASS G-L03-09 0 of 10 values across 10 items are null PASS G-L03-10 network.rdap_calls=40 max=400 PASS G-L03-11 10 items correctly ordered by score desc, length asc, sld asc FAIL G-L03-12 2 of 5 fields are absent or empty: ['provenance.tm_source', 'provenance.wayback_endpoints'] ------------------------------------------------------------------------ Schema: OK (jsonschema) Verdict: FAIL
Real output, run 2026-07-31 against the artifact on disk. Long detail lines are wrapped here for width; nothing is otherwise altered.
Twenty absent flags, and the gate refuses to assume they are clean
G-L03-04 fails with the words "cannot prove none are true". Trademark and prior use screening were not run for this shortlist, so the disqualification flags are absent rather than false. A permissive engine treats an absent flag as a clean one and reports a pass. This one states the count, names the missing fields, and fails the layer.
That single line is the entire product. Nine of twelve gates passed, the domains are genuinely available, the scoring is genuinely correct, and the verdict is still FAIL, so the layer does not advance and no domain gets recommended for purchase on evidence that was never gathered.
Three more lines are worth reading. G-L03-06 reports "80 null and permitted": unknown values propagate as null instead of acquiring a flattering default, and the gate knows which nulls are legitimate. G-L03-05 checks that a weight vector sums to one and reports a floating point delta of 2.22e-16 against a declared tolerance, because "the weights look about right" is not a check. And the last line before the verdict names the validator that ran, because a weaker fallback validator must never be mistaken for the full one.
Exactly what 199 USD buys
Counted 2026-07-31395machine-evaluable gates
204 across the layers (182 of them blocking) and 191 across the sprint stages (181 blocking), in 20 machine-readable gates.json files. Every gate carries a stable id and a written rationale showing the arithmetic behind its threshold. One repository, one payment, yours permanently.
L00 intake through L12 monitor, 14,305 lines of layer specification. Each layer declares its reads, its single output artifact, its algorithm, its execution class, its JSON Schema, and its failure modes.
The recurring post-launch track, kept separate from the build layers because it repeats. It carries 191 of the 395 gates.
Every assertion name used by any gate is implemented and evaluable, and awp doctor reports 0 errors and 0 warnings. A further 25 are registered but unused, for 182 in the engine. A layer may not invent an assertion without adding it to the library.
17 commands, 12,749 lines of Python across 18 modules, standard library only. A run state machine with atomic writes, automatic downstream invalidation on re-run, an append-only decision log, and a fleet-wide keyword registry.
6 generation strategies, a 9 stage canonical filter that kills candidates locally before they cost a network call, live RDAP .com verification with rate limiting, caching and a real unknown state, and composite scoring with evidence coverage renormalization.
1,404 lines, fixed files rather than something improvised each run: design, then a ten dimension validator that serves as the acceptance rubric, then responsive and SEO, then an optional brand kit. These prompts produced the page you are reading.
Run by ./run_tests.sh and again as check 12 of the 14 check state report. They cover the gate engine, both assertion libraries, the state machine, the name generator and scorer, the sprint interlocks, and the fleet registry.
Layer contract, sprint contract, GEO sprint guide, design workflow, an operating manual with realistic per-layer elapsed times, a NASA Power of 10 compliance record, and a commercial analysis written adversarially against its own premise.
Specification, prompts, code, tests, and documentation, counted by the command printed below. Not included: the domain, hosting, model API credits, keyword or SERP data, a Claude subscription, and any support commitment.
199 USD
One time. No subscription, no account, no hosted service. Fourteen day refund, no explanation required. No ranking is promised.
Reproduce this page
Every number above came from one of these commands. The repository is the authority: if a command disagrees with this page, the page is stale and the repository is right.
# the state report, all 14 checks ./verify.sh # layers, execution class, and gate counts per layer ./awp layers # every assertion name in use, and whether it is implemented ./awp assertions # contract validation across all 13 layers ./awp doctor # gates that disagree with the schema of their own stage ./awp crosscheck # the regression suite on its own ./run_tests.sh # the live domain engine, then its gates ./awp domains demo --terms "espresso machine,coffee grinder,barista" --limit 40 ./awp gate L03 demo # the line counts quoted in the manifest wc -l layers/*/LAYER.md layers/*/agent.md wc -l sprints/*/LAYER.md sprints/*/agent.md wc -l core/*.py tests/*.py tools/*.py docs/*.md wc -l layers/L06-design-handoff/prompts/*.md # the 57,205 line total, in one command cat layers/*/LAYER.md layers/*/agent.md \ sprints/*/LAYER.md sprints/*/agent.md \ sprints/SOURCE-seo-geo-sprint-goal5-final.md \ core/*.py tests/*.py tools/*.py docs/*.md \ layers/L06-design-handoff/prompts/*.md | wc -l
Live registry results vary by run: availability changes, so the exact split of available and registered domains will not match a previous run. The raw and filtered candidate counts are deterministic and will. Re-running ./awp domains demo overwrites the demo artifact, so the gate output will then describe your run rather than the one shown above.
What this does not do
Required readingEvery item is drawn from the risk register in the repository's own commercial analysis, or from its status file. None of it is softened here, and none of it is softened there.
- NOIt does not produce a single backlink. The pipeline generates zero off-site signal. Nothing in layers 0 through 12 touches the demand side.
- NOIt cannot force indexation. Submitting a sitemap is a request, not an instruction. Google indexes a subset of what it crawls and offers no mechanism to compel inclusion. A technically flawless site can sit at partial or zero coverage indefinitely. Layer 11 reports measured Search Console coverage and nothing else.
- NOIt promises no traffic and no rankings. The repository states its own most likely failure plainly: you get a technically correct site, and day 90 arrives with almost no clicks, because ranking is limited by authority and external signal and this produces neither. Build speed was never the constraint.
- NOIt does not remove the human hour. Layer 6 needs you at claude.ai/design, iterating, for one to four hours per site, and the operating manual calls that a planning estimate and labels it as one. It's manual by construction. Buying it won't make it automatic.
- NOIt does not include a domain. You buy the .com yourself, and you buy it at layer 3, before the keyword map at layer 4 has told you whether the niche is workable. The documentation names this ordering as a known weakness rather than defending it.
- NOIt includes no model credits, no keyword data, and no hosting. Generative layers spend your tokens. Keyword and SERP data is your API bill. Hosting is your own GitHub and Cloudflare account. Layer 1 halts without credentials, which is exactly what happened on the furthest run to date.
- NOIt is not software as a service. No dashboard, no login, no hosted runner, no uptime commitment, and no support commitment beyond asynchronous best effort. The price reflects that.
- NOThe trademark and prior use screens are unbuilt. That is the reason gates G-L03-04 and G-L03-12 fail in the block above, and the reason evidence coverage sits at 0.70. It is a listed open item, not a hidden one, and until it is built the domain engine cannot clear a name, only rank it.
- NONo end-to-end run has been completed. Every layer contract is written and every gate is evaluable, but no site has been taken from intake to indexation by this pipeline. The furthest run reached 1 of 13 layers: L00 passed on real answers with all 20 gates satisfied, and L01 then halted with decision KILL because the keyword data it is specified against was not available on that machine. Its viability score is null rather than zero, and no number was invented to fill the gap.
- NOThere is no demo site, and there are no customers. No reviews, no ratings, no buyer count, and no outcome data, because nobody has run it enough times to produce any. Showing a site built another way and implying the pipeline produced it would be the exact fabrication the gates exist to prevent.
Honest prerequisites
9 itemsIf any line here is a problem, the product isn't for you and buying it will waste your money.
- runtime
- Python 3.9 or newer, standard library only
- version control
- a GitHub account, git, and the gh CLI
- dns and edge
- a Cloudflare account
- registrar
- an account with a payment method on file
- design
- a Claude subscription for claude.ai/design
- model access
- API credentials with a working balance
- keyword data
- keyword or SERP API credentials
- measurement
- a Google account with Search Console access
- you
- comfort in a terminal, reading gate output
The refund, and its limit
Fourteen days, full refund, no explanation required. Clone it, run ./verify.sh, run ./awp domains and ./awp gate, read the layer contracts. If the repository isn't what this page describes, or you simply decide it isn't for you, ask inside fourteen days and you're refunded.
The claim being covered is a claim about a repository, and every figure on this page was counted from the files with the reproducing commands printed above, so it is checkable in about ten minutes.
Traffic, rankings, indexation and revenue are explicitly not covered. No refund is available on the basis that a site was not found, because no ranking is promised anywhere in this product, on this page, or in the repository. A promise attached to an outcome the seller does not control is not a promise, it is a liability being hidden until month three.
Thirteen layer contracts, seven GEO sprint stages, 395 gates, 157 implemented assertions, a working CLI and domain engine, four design prompts, a 348-test regression suite, and a documentation set that argues against its own product. 57,205 lines, every one of them checkable before you pay.