A complete furnishings business runs on Postgres inside the visitor's browser: in a mid-range phone profile it is ready to query in under two seconds once the engine is downloaded, and it keeps nothing on the device until the visitor signs in or changes something.
Ochre Nocturne, the flagship demo Aternex built end to end: a home furnishings retailer with a storefront, a designer trade programme, a back office, delivery and reporting on one set of data. It is a Next.js static export; the database is PGlite (Postgres compiled to WebAssembly) in a Web Worker, kept in IndexedDB, and the site is served from Azure Storage behind Azure Front Door.
Open the store, then sign in
Browsing, then the database
Browsing the store downloads 0.58 MB. Opening the database brings it to 5.08 MB, of which the engine is 3.8 MB, and it is ready in 1.89 to 1.91 s in a mid-range phone profile once downloaded.
The bars show bytes over the network, up to the 5.08 MB once the database is open.
| Value | Method | Recorded | Scope |
|---|---|---|---|
| 1.89 to 1.91 s | e2e/flagshipEngine.spec.ts in Playwright's Pixel 7 profile with the CPU slowed four times through the DevTools protocol, against the production build on a local edge; three runs on an idle machine, alternated with the build measured that morning (1.75 to 1.76 s) | 2026-10-03 | Start-up: from the start of the engine check to a seeded database ready to query, once the engine is downloaded |
| 3.8 MB | curl against www.aternex.com with Chrome's Accept-Encoding: 3,829,407 bytes of brotli for the three engine files (16,778,719 bytes uncompressed) | 2026-10-03 | The database engine, downloaded only on the first sign-in, add to bag or back-office visit; browsing downloads none of it |
| 99 to 100 | Lighthouse 13.5, mobile, simulated throttling, three runs per page against www.aternex.com: performance 99 to 100, accessibility 100, best practices 100; largest paint 1.5 to 1.6 s, blocking time 40 to 80 ms, layout shift 0 | 2026-10-03 | The story page (275 KB in 21 requests) and the store home (419 to 424 KB), first view |
| 0.58 MB, then 5.08 MB | e2e/flagshipMeasure.spec.ts (E2E_MEASURE=1) against www.aternex.com in the Pixel 7 profile with the CPU slowed four times; response bodies and headers as Playwright reports them, the database worker included; three runs. The first view is larger than Lighthouse's because the Pixel 7 screen is denser (2.625 against 1.75 pixels per point), so the browser picks larger product photographs: 253 KB of images against 99 KB | 2026-10-03 | Bytes on the wire: the store's first view, then after signing in opens the database |
| 0.8 s, 1.2 to 1.7 s, 0.5 s | e2e/flagshipMeasure.spec.ts against www.aternex.com, Pixel 7 profile, CPU slowed four times, three runs: search 0.76 to 0.85 s, placing an order 1.21 to 1.72 s, opening the dashboard 0.44 to 0.49 s, signing in including the engine download and start-up 3.78 to 3.80 s | 2026-10-03 | From the action to the result on screen: search (answered from the page, without the database), checkout and the dashboard |
| 8.4 MB, all of it freed | navigator.storage.estimate() in e2e/flagshipMeasure.spec.ts before and after signing in, the first change the demo keeps, then the Remove demo data control, which reported 8.4 MB freed; IndexedDB and every flagship key were gone afterwards | 2026-10-03 | On-device storage: 748 bytes before signing in or changing anything (the site's service worker), 8.38 MB after it; what remains after removal is the main site's own page cache |
| 2,372 tests in 27.3 s | vitest run on one 16-core machine, 27.2 to 27.4 s over three runs (593 of the tests cover the flagship); Playwright lists 1,322 browser tests across a desktop and a phone profile, each re-run only when its pages or code change | 2026-10-03 | Unit, database and component tests for the whole site, and the browser tests behind them |
| 5 minutes, then 80 s | GitHub Actions run times for the 17 successful CI runs and 12 releases on 2026-10-03 after browser tests began running once per change: CI median 297 s (150 to 692 s), release median 80 s (64 to 280 s), on self-hosted runners | 2026-10-03 | From a pushed change to every check passing, and from a merge to the site being live |
| $27.52 | The costs each image run recorded: $17.22 for the first full set, $1.01 of trials and logos, $9.02 to regenerate 133 colourways from each product's first photograph, and $0.27 for that trial | 2026-10-03 | All product photography, inside a thirty dollar budget |
| $0.75 in 7.7 minutes | The copy pipeline's own run log: three drafting model families and two revisers wrote copy for 115 products for $0.72, after a five-product trial for $0.03. Every answer was validated for structure, length and banned words; a separate model and a keyword scan then checked each product's copy against its facts, and eleven products with invented details were rewritten by hand | 2026-10-03 | Product copy for the whole catalogue |
Dates are when each figure was recorded for this site; the work itself is dated in the setting above.
What this does not prove
Measured on one machine and one internet connection. The phone figures use Chrome's device emulation with the CPU slowed four times, not a physical phone, and start-up leaves out the engine download, which depends on the visitor's connection. Test counts and run times change with the code and are as of the date shown.