Empirical infra
Built for browser tests.
A machine per shard, tests packed longest first, browsers and dependencies ready before the first test, and billing by test minutes.
01 · Horizontal scaling
Every shard runs on its own machine, started when the run triggers. Set the shard count per project: more shards, shorter runs.
Your CI · 4 runners 00:00
queued · waiting for a runner
Empirical · 24 machines, 16 vCPU each 00:00
allocating machines for this run
5× faster 04:12 vs 21:00
02 · Longest-first scheduling
Playwright's --shard splits tests by file order. We keep a duration history for every test, sort longest first, and give each test to the least-loaded machine. Machines finish at about the same time.
Playwright · file order 21 min
Empirical · longest first 17 min
03 · Zero setup
Connect your test repo and run. Chromium is baked into the image and node_modules restores from a snapshot of your lockfile, so tests start in seconds.
clone 2s
node_modules snapshot · 1s
browsers preinstalled
tests running
Included with every run:
- Trace, video, and screenshots per test
- Retries for flaky tests
- One merged report per run
- Spot interruptions resume where they stopped
- Env vars per environment
- Static IPs for allowlisting
- No workflow YAML or runner pool
04 · Usage-based billing
You pay for test minutes: the time your tests spend running. Machine boot, installs, and idle capacity aren't billed.
Test minutes metered
Machine boot 0
Install and setup 0
Idle machines 0
Billed test minutes