PIPELINE

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.

Works with ClaudeCodexKimiGLMany agent that reads text

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.

What runs inside the pipeline
  • 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.

Pipeline log 13 layers / 395 gates
01 Intakescope and answers in, one artifact out L00
02 Harvestkeyword and SERP data, halts without credentials L01
03 Qualify9 stage local filter, then live RDAP L03
04 Design4 vendored prompts, manual attestation L06
05 Buildstatic output, third party references removed L07
06 MeasureSearch Console coverage, reported not predicted L11

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".

Per run 20 gates.json
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 four

Four sites, and the Search Console data behind them

Measured to 2026-07-29

These 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 through

Four 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 export

Each 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 asserted

This 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.

./verify.shexit code 0
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.

./awp gate L03 demo12 gates
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-31

395machine-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.

Contracts 13 layer contracts

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.

Growth track 7 GEO sprint stages

The recurring post-launch track, kept separate from the build layers because it repeats. It carries 191 of the 395 gates.

Assertions 157 assertions in use

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.

Tooling The awp CLI

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.

Domains The domain engine

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.

Design 4 vendored design prompts

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.

Tests 348 tests

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.

Documentation 7 documents

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.

Total 57,205 lines

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.

One repository, one payment

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.

counts, reproducedrun these
# 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 reading

Every 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 items

If any line here is a problem, the product isn't for you and buying it will waste your money.

You supply Nothing to install
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.

One repository. One payment.

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.