Pick the one that suits how you like to decide.
Same Veloċi, five ways to get to know it. Switch whenever you like.
Evidence · Europe
12.4s
from the front door to a finished site on screen: the laptop median of scripted runs
Revalidation requiredMeasured 8 November 2026 on an earlier builder; not yet re-measured on this one.How it was measured
0
layout faults across 13 screen classes from 360 to 3840 px
Revalidation requiredMeasured 6 November 2026 on an earlier builder; not yet re-measured on this one.How it was measured
0
network requests from a downloaded site opened with the network off (one export, one trade)
Revalidation requiredMeasured 6 November 2026 on an earlier builder; not yet re-measured on this one.How it was measured
Each number carries its sample, its method, and what it does not establish.
Automated engineering benchmark
12.4 s on the laptop · 12.5 s on the phone · measured 2026-11-08
Revalidation required45 s on the laptop · 40 s on the phone · measured 2026-11-08
Revalidation required21.2 s on the laptop (3.3 s on the page, 17.8 s in the builder) · 28.6 s on the phone (3.5 s + 25.2 s) · measured 2026-11-06
Revalidation required0 faults (0 console errors) · measured 2026-11-06
Revalidation required0 external image references · 5 of 5 photos decoded offline · 2389 KB, one file · measured 2026-11-06
Human usability benchmark
NOT MEASURED YET
Speed · measured 6 November 2026
Revalidation required. The builder has changed since this run; what follows is what was measured then, not a claim about the builder today.
A starting site for your trade is ready to review in under a minute; with your own business name, phone, email, a paragraph and one photo swapped, in under 3 minutes.
That sentence comes from timed runs on the live builder at veloci.build on 6 November 2026, at a scripted human pace.
It is the slowest median of any device and market, rounded up to the next whole minute. Nobody was timed: these are scripts, and a real person reads and decides at their own speed.
| What was done | Device | Market | At a person's pace | Automated, no simulated reading or typing | Runs |
|---|---|---|---|---|---|
| Starting site, no changes | Desktop | Australia | 11.5 s (10.5 s to 13.2 s) | 8.5 s (7.2 s to 45.1 s) | 15 + 15 |
| Starting site, no changes | Desktop | United States | 11.4 s (10.6 s to 13.6 s) | 8.8 s (7.5 s to 42.7 s) | 15 + 15 |
| Starting site, no changes | Phone | Australia | 11.9 s (11.1 s to 14.3 s) | 9.2 s (7.8 s to 27.9 s) | 15 + 15 |
| Starting site, no changes | Phone | United States | 12.2 s (11.1 s to 38.8 s) | 9.5 s (7.7 s to 11.3 s) | 15 + 15 |
| Your name, phone, email, a paragraph, one photo | Desktop | Australia | 135.5 s (112.9 s to 235.9 s) | 15.3 s (12.8 s to 19.2 s) | 15 + 15 |
| Your name, phone, email, a paragraph, one photo | Desktop | United States | 142.0 s (116.5 s to 235.6 s) | 16.1 s (11.4 s to 75.8 s) | 15 + 15 |
| Your name, phone, email, a paragraph, one photo | Phone | Australia | 104.6 s (95.3 s to 142.2 s) | 21.0 s (16.8 s to 50.2 s) | 15 + 15 |
| Your name, phone, email, a paragraph, one photo | Phone | United States | 104.0 s (96.1 s to 139.2 s) | 20.0 s (17.5 s to 22.4 s) | 15 + 15 |
When the visitor clicks “Open the … site” on the trade page for their business, for example /for/cafe.
When the warm-up screen has cleared, “Get this site” is ready, and the preview on screen shows the business name (and, in the edit run, the typed phone, email and paragraph) with the cover photo at the top set to the photo chosen in the editor, and that photo loaded and decoded. No run went further: nothing was bought and no checkout was opened.
The starting-site runThe trade link opens the builder straight into setup: two setup steps (business name, starting look) left on their suggestions, then Build my website and the wait for the warm-up screen. On a phone, setup ends with the site already on screen.
The edit runThe same, plus a business name typed in setup, then a phone number, a contact email and one paragraph (the About story, about 170 characters) typed in the editor, and the cover photo swapped for another photo from the free library.
A person's pace1.5 s to decide before every click or tap, and typing at 5 characters a second. Reading time beyond that is not modelled.
The “automated” column is the same steps without simulated reading or typing time. It is not pure builder time: it includes the test harness's own waits (letting a panel stop scrolling, closing a pop-up, re-checking a tap), measured in every run at up to 2.9 s (median 1.0 s).
Devicesdesktop 1440×900; phone 390×844 (emulated, touch, DPR 3). Headless Chromium (Chrome/153.0.8010.12).
Business types and marketscafe, plumber, salon, accountant, gym; Australia and United States. A fresh browser with no saved draft for every run.
ConnectionThe same internet connection for every run (the tester's own line, not a data centre), with no throttling. Measured page loads: the trade page in 0.8 s (median), the builder in 2.4 s (median; 1.1 s to 32.8 s), with 853 KB transferred for the builder page itself.
Runs240 timed runs, 240 completed (8 needed a second attempt because the first attempt stopped with an error).
In 62 runs the editor's “find your voice” invite slid up mid-edit and had to be closed, sometimes taking a tap meant for the photo; those closes and re-taps are counted in the time, as they would be for a person.
Up to 4 ran at once on one computer. Analytics and advertising measurement was switched off so the runs were not counted as visitors.
What this does not establishHow long a real person takes: nobody was timed, and that measurement is still not made. It also stops before checkout, so it says nothing about paying, the domain, or the site going live.
A slower connection or an older phone will be slower, mostly in the page load and the warm-up screen, which waits for the photos and runs between five and fifteen seconds by design.
Which buildRevalidation required. Measured against the builder eaa6cd33fef5 (site commit c81bc4c28); the builder is now 59d306177370.
Method and raw timings: tools/astra/probe-speed-run.mjs and tools/astra/speed-run-summary.mjs.
How it is built and released · as of 26 October 2026
The trust page says every release is tested, reviewed by a second company's AI model, checked from the outside and rolled back automatically when a check fails. Here is each of those, counted from the files that define it.
The release record summarises our private release logs: what changed, whether it went live or was rolled back, and what the checks found. It leaves out commit hashes, internal addresses and anything that would help someone attack the service.
On every push and every pull request, the repository's continuous-integration workflow installs the locked dependencies on Node 24.22.0, runs the same site build Cloudflare runs, then runs the test files.
How many250 of the 375 test files run there.
The other 125 are listed with the reason they cannot: 111 need a real browser, 3 need Windows, 8 failed on the commit the list was measured on (26 October 2026), 3 for other recorded reasons. A test file in neither list fails the run, so a new test cannot be added and then silently skipped.
What it cannot doIt references no secrets, has read-only access to the code, and deploys nothing.
Where to see itThe repository is private, so run results are not public. This page is generated from the workflow file and the test list themselves, so the figures above change when they do.
A change written with one company's AI model (Anthropic's Claude or OpenAI's GPT) is reviewed by the other company's model before release, and goes out only after that review signs it off with its findings fixed. These are automated reviews, not an external audit.
What the record showsFrom 25 October 2026, 02:13 onward, 21 of the 23 releases in the record were signed off by a model from the other company before they went out. The two without one changed no file a visitor receives (test path fix; release branch carries the rate-limit release).
Before that, from 23 October 2026, 17:13, the log records a review for 16 of 39 releases, mostly those touching payments and orders, without saying which company's model wrote each change.
The release tool reads the public site and all two billing services the way a customer's browser would, and refuses to call a release finished unless all 32 of these pass. None of them changes anything.
If any outside check or any byte check of the published files fails, the previous version is put back automatically and the outside checks are run again against it.
How often it happened12 of the 62 releases in the record were rolled back automatically. After 10 of those rollbacks the outside checks passed straight away; after one, the first recovery run failed and a second passed; for one the log does not record a recovery run.
62 releases, 23 October 2026, 17:13 to 26 October 2026, 23:02 (Sydney time): 50 went live and 12 were rolled back. The outside checks all passed after 55; two failed some checks and were rolled back; for five the log records only the checks after the rollback.
| When | Part | Change | Result | Outside checks | Review |
|---|---|---|---|---|---|
| 26 October 2026, 23:02 | site and builder | Account payment lock and the help page | Live | all 32 passed | second company |
| 26 October 2026, 22:59 | billing services | Saved-card renewal safety | Live | all 32 passed | second company |
| 26 October 2026, 21:55 | site | Release branch carries the rate-limit release (no file a visitor receives changed) | Live | all 32 passed | none recorded |
| 26 October 2026, 21:52 | billing services | Rate limits on sign-in and public routes | Live | all 32 passed | second company |
| 26 October 2026, 20:58 | site | Test path fix (no file a visitor receives changed) | Live | all 32 passed | none recorded |
| 26 October 2026, 20:41 | site | Tests run on every push (no file a visitor receives changed) | Live | all 32 passed | second company |
| 26 October 2026, 20:33 | site | Speed re-measured on the restyled builder | Live | all 32 passed | second company |
| 26 October 2026, 19:07 | site | Security policy allows the visitor-count script | Live | all 32 passed | second company |
| 26 October 2026, 18:47 | site and builder | Builder and checkout styling, trust page, security policy | Live | all 32 passed | second company |
| 26 October 2026, 18:44 | billing services | Trust status wording | Live | all 32 passed | second company |
| 26 October 2026, 14:42 | site | Speed re-measured on the new builder | Live | all 32 passed | second company |
| 26 October 2026, 13:28 | site and builder | Shorter path from a trade page; address asked once | Live | all 32 passed | second company |
| 26 October 2026, 13:25 | billing services | Domain registrant details | Live | all 32 passed | second company |
| 26 October 2026, 02:52 | site | Evidence fingerprints fixed | Live | all 32 passed | second company |
| 26 October 2026, 02:27 | site | Speed measurements on the evidence page | Live | all 32 passed | second company |
| 26 October 2026, 00:07 | site and builder | Footer, market switch, cookie notice and trust page | Live | all 32 passed | second company |
| 26 October 2026, 00:02 | billing services | Account and order ownership checks | Live | all 32 passed | second company |
| 25 October 2026, 12:15 | site and builder | Comparison wording and builder colour options | Live | all 32 passed | second company |
| 25 October 2026, 07:40 | builder | Six builder improvements, and saved-draft files and share links can no longer carry code | Live | all 32 passed | second company |
| 25 October 2026, 03:42 | builder | Builder design pack | Live | all 32 passed | second company |
| 25 October 2026, 03:22 | builder | Sample contact details and figures never published | Live | all 32 passed | second company |
| 25 October 2026, 03:01 | site | Trade pages: three ways to start | Live | all 32 passed | second company |
| 25 October 2026, 02:13 | site | Design pack, business address and compliance wording | Live | all 32 passed | second company |
| 25 October 2026, 00:58 | billing services | Mailbox password set-up | Rolled back automatically (the hosting provider reported a different active version than the one uploaded) | all 32 passed; after the rollback: all 32 passed | recorded |
| 25 October 2026, 00:54 | billing services and site | One notice when several mailboxes are ready | Live | all 32 passed | recorded |
| 24 October 2026, 23:58 | billing services | Mailbox price-check recovery | Live | all 32 passed | recorded |
| 24 October 2026 | site and builder | Checkout wording and password set-up | Live | all 32 passed | recorded |
| 24 October 2026 | billing settings | Order alert address | Live | all 32 passed | none recorded |
| 24 October 2026 | billing services | Order email and security fixes | Live | all 32 passed | recorded |
| 24 October 2026, 21:26 | billing services | Domain registration read-back recovery | Live | all 32 passed | none recorded |
| 24 October 2026, 16:58 | billing settings | Owner test-order pricing switched on | Live | all 32 passed | none recorded |
| 24 October 2026, 16:55 | site | Website-only orders and ad-event delivery | Live | all 32 passed | none recorded |
| 24 October 2026, 16:55 | billing services | Billing services update | Live | all 32 passed | none recorded |
| 24 October 2026, 14:44 | builder | Checkout: sample details removed, bundle totals | Live | all 32 passed | recorded |
| 24 October 2026, 14:33 | builder | Checkout: sample details removed, bundle totals, second attempt | Rolled back automatically (an extra page check rejected expected metadata) | all 32 passed; after the rollback: all 32 passed | recorded |
| 24 October 2026, 14:21 | builder | Checkout: sample details removed, bundle totals | Rolled back automatically (a published file did not match the build) | not recorded; after the rollback: all 32 passed | recorded |
| 24 October 2026, 03:07 | builder | Exact cents in test-order totals | Live | all 32 passed | none recorded |
| 24 October 2026, 02:54 | builder | Exact cents in test-order totals, second attempt | Rolled back automatically (the first recovery run failed; a second recovery run passed) | not recorded; after the rollback: all 32 passed on a second run | none recorded |
| 24 October 2026, 02:07 | builder | Exact cents in test-order totals | Rolled back automatically (one price read got no answer) | 31 of 32; after the rollback: all 32 passed | none recorded |
| 24 October 2026, 00:54 | builder | Renewal wording | Live | all 32 passed | none recorded |
| 24 October 2026, 00:49 | site | Download and export wording | Live | all 32 passed | none recorded |
| 24 October 2026, 00:27 | builder | Named test-order code screens | Live | all 32 passed | recorded |
| 24 October 2026, 00:24 | billing services | Named test-order codes | Live | all 32 passed | recorded |
| 23 October 2026, 23:45 | builder | Saved contact details reloaded before the order is saved | Live | all 32 passed | recorded |
| 23 October 2026, 23:42 | billing services | Saved contact details kept on an order | Live | all 32 passed | recorded |
| 23 October 2026, 22:44 | builder | Test-order code accepts a website-only order | Live | all 32 passed | recorded |
| 23 October 2026, 21:41 | site | Keep rolled-back changes out of the live version | Live | all 32 passed | none recorded |
| 23 October 2026, 21:32 | billing services | Test-order code expiry fix | Live | all 32 passed | recorded |
| 23 October 2026, 21:06 | site | Comparison stylesheet repair | Rolled back automatically (the published pages did not match the build) | not recorded; after the rollback: all 32 passed | none recorded |
| 23 October 2026, 20:52 | site | Restore the live version after a rollback | Live | all 32 passed | none recorded |
| 23 October 2026, 20:22 | site | Comparison price-marker repair | Rolled back automatically (the published pages did not match the build) | not recorded; after the rollback: all 32 passed | none recorded |
| 23 October 2026, 19:59 | site | Comparison claims | Rolled back automatically (a price marker showed the wrong figure) | not recorded; after the rollback: all 32 passed | none recorded |
| 23 October 2026, 19:45 | site | Call-back offer wording | Live | all 32 passed | none recorded |
| 23 October 2026, 19:39 | site | Call-back form fields clear of floating controls | Live | all 32 passed | none recorded |
| 23 October 2026, 19:29 | site | Proof-page links wrap on phones | Live | all 32 passed | none recorded |
| 23 October 2026, 19:25 | site | Market tables fit phone screens | Live | all 32 passed | none recorded |
| 23 October 2026, 19:11 | site | Market tables fit phone screens | Rolled back automatically (one page still served the old stylesheet) | all 32 passed; after the rollback: all 32 passed | none recorded |
| 23 October 2026, 18:45 | site | Cookie notice and section links | Live | all 32 passed | none recorded |
| 23 October 2026, 18:16 | site | Cookie notice, second attempt | Rolled back automatically (a published file did not match the build) | all 32 passed; after the rollback: all 32 passed | none recorded |
| 23 October 2026, 18:04 | site | Cookie notice | Rolled back automatically (a published file did not match the build) | all 32 passed; after the rollback: all 32 passed | none recorded |
| 23 October 2026, 17:24 | billing settings | Automatic set-up after payment switched on | Live | all 32 passed | recorded |
| 23 October 2026, 17:13 | billing settings | Automatic set-up after payment switched on | Rolled back automatically | 30 of 32; after the rollback: not recorded | recorded |
Text at least 4.5:1 in Light and Dark and 7:1 in High contrast; focus rings, input borders and button edges at least 3:1.
Measured327 colour pairs (109 in Light, 109 in Dark, 109 in High contrast), computed from the site's colour tokens when this page was built.
Lowest text contrast: Light 4.94:1, Dark 6.54:1, High contrast 7.21:1. None below the floor.
| Item | Proof | Kind of proof |
|---|---|---|
| TLS 1.3 encryption | SSL Labs report for veloci.build | Checked by an outside service |
| HSTS preloaded in browsers | HSTS preload list entry | Checked by an outside service |
| Content Security Policy on marketing pages | Mozilla HTTP Observatory scan | Checked by an outside service |
| Browser security headers | Mozilla HTTP Observatory scan | Checked by an outside service |
| Our own in-house checkout | How payment works, on the trust page | Explained on this site |
| Full card numbers never reach our servers | How payment works, on the trust page | Explained on this site |
| Owner proof to change a paid site | Enforced by the billing service before it saves a change to a paid site | Our own code; not checkable from outside |
| One-time email sign-in codes | How signing in works | Explained on this site |
| DKIM-signed email | The live email check, from public DNS | Checked by an outside service |
| Automated test suites | Tests on every push | Explained on this site |
| Two-company AI code review | The review record | Explained on this site |
| Outside checks after every release | The outside checks, listed | Explained on this site |
| Automatic rollback on a failed check | Rollbacks in the release record | Explained on this site |
| Google Safe Browsing monitored | Google Safe Browsing status | Checked by an outside service |
| security.txt contact (RFC 9116) | /.well-known/security.txt | Public file anyone can read |
| Contrast tested in three colour schemes | The contrast measurements | Explained on this site |
| Static HTML, CSS and JavaScript | View the source of any page | Visible in any page's source |
| Registered company since 2015 | ABN Lookup, the Australian Government register | Checked by an outside service |
Each claim has its own address, https://veloci.build/evidence/<id>. Cite that page: it carries the method and the limitation.
Fingerprints are sha-256 (first 12) of veloci-builder.html and of compare-src/build.mjs at the time of the run.
Partner programme
That's the Starter bundle fee. They pay the same, and we never pay for reviews.