Speed isn't the moat - the moat is what speed lets you ship. Each card runs two implementations of the same workload. The wallclock matters, but the real number to watch is annual saving vs the named SaaS that customers pay for today. Sometimes Hadron is faster, sometimes it's slower - both are wins when the alternative is a $30/user/month subscription with privacy + residency baggage attached.

Race 1 - Sort 1,000,000 floats

Trader dashboards, log viewers, market depth. Cloud-default: ship the data to a server, sort there, ship the result back. Datadog Pro at $23/host/month makes this a $276/user/year line item, and the data left the device. Hadron: sort on the user's own GPU, zero bytes out.

Naive baseline
Array.sort() on main thread - blocks UI
- ms
UI freeze-
Tiermain thread, CPU
Hadron sortAsync
Adaptive dispatch - CPU / Worker / GPU
- ms
UI freeze-
Tier-
ReplacesDatadog Pro · $276/user/yr
Press Start race to run both lanes on the same data.

Race 2 - Filter and aggregate 1,000,000 sales rows

The BI dashboard query a Grafana / Snowflake / DuckDB-WASM customer runs all day. Cloud-default: ship every dashboard refresh to a warehouse, pay per credit. Snowflake compute at typical analyst load is roughly $30/user/month = $360/user/year. Hadron: filter + groupBy + sort on the user's device. Naive in-tab JS is faster at 1M rows because JS is fast on hot loops - but it can't scale to 10M+ without freezing the page, and Hadron is the only path that holds up at warehouse scale.

Naive baseline
Array.filter + reduce on main thread
- ms
UI freeze-
Tiermain thread, CPU
Hadron pipelineAsync
Per-operator routing with residency
- ms
UI freeze-
Plan-
ReplacesSnowflake compute · $360/user/yr
Press Start race to run both lanes on the same dataset.

Race 3 - Find every "fox" in 2,000,000 characters of text

Log viewers, find-in-page, in-product search. Cloud-default: Algolia hosted search at $1 per 1K queries, ~5K queries/user/month = $60/user/year. Every query leaves the device. Hadron: two-phase pre-filter on GPU when the workload fits, a CPU literal-search path on CPU when it doesn't. Replaces a hosted SaaS with a static asset.

Naive baseline
indexOf loop on main thread
- ms
UI freeze-
Matches-
Hadron searchAsync
Two-phase GPU search w/ inhibition
- ms
UI freeze-
Matches-
ReplacesAlgolia hosted · $60/user/yr
Press Start race to run both lanes on the same corpus.

Race 4 - Multiply two 1024 x 1024 matrices

Inference, on-device training, AI completion re-rank. Cloud-default: ship the data to an LLM endpoint. OpenAI re-rank judge calls at $1/1K, ~1K calls/user/month = $12/user/year - and every prompt left the device. Hadron: Float32 precision-sufficiency check passes for this shape, dispatches to a WebGPU compute shader, zero bytes out, no API key required.

Naive baseline
Triple-nested loop on main thread
- ms
UI freeze-
FLOPS-
Hadron matmulAsync
Adaptive dispatch, precision-aware
- ms
UI freeze-
FLOPS-
ReplacesOpenAI judge calls · $12/user/yr
Press Start race to run both lanes on the same matrices.

Annual savings tally

Each Hadron lane replaces a real, named SaaS line item. The tally below is the sum across the four races, per user, per year. Use the slider to scale to your deployment.

$708
per user, per year
100 users
$70,800 saved annually at 100 users
Sort 1M floats - replaces Datadog Pro $276/user/yr
Pipeline 1M rows - replaces Snowflake compute $360/user/yr
Search 2M chars - replaces Algolia hosted $60/user/yr
Matmul 1024x1024 - replaces OpenAI judge calls $12/user/yr

Numbers use 2026 public list prices. Hadron is a static CDN ship - storage + bandwidth is well under $0.50 per user per month at typical traffic, so the net saving is essentially the cloud line. See the Cost tab for the full breakdown including five workloads.

The differentiator. A naive port to WebGPU sends every workload to GPU. That loses on small inputs (the upload cost eats the savings) and on GPU-hostile shapes (regex, fuzzy match, tiny matmul). Hadron scores each call against its workload profile and picks CPU / Worker / GPU per dispatch. Below: the same workload at three sizes, run three ways. Watch the green winner move across the row.

Three lanes, three sizes

Lane A is the naive main-thread baseline. Lane B is a vanilla WebGPU port that forces every call to GPU regardless of shape (forceGPU: true). Lane C is Hadron's adaptive scorer. The winner per row is highlighted; the dispatch decision Hadron made is shown alongside.

Workload · size Lane A · Main thread Lane B · Vanilla WebGPU (force GPU) Lane C · Hadron dispatch Hadron picked
Sort - 200 floatstiny - GPU upload dominates----
Sort - 50,000 floatsborderline - Worker often wins----
Sort - 2,000,000 floatsheavy - GPU is the right call----
Matmul - 32×32tiny - shader compile overhead----
Matmul - 256×256borderline - precision matters----
Matmul - 1024×1024heavy - GPU is the right call----
Search - 10K chars, literalsmall corpus - CPU wins----
Search - 2M chars, literalheavy - two-phase GPU wins----
Search - 2M chars, regexGPU-hostile workload shape----
The privacy axis. Cloud-default versions of these workloads need the input data to leave the browser. Hadron runs the same code locally, so the answer is bytes-out = zero. This is not just a vibe - it is the technical reason regulated industries (health, legal, finance) can ship features today they could not ship before.

Bytes that left this browser session

Live counter. Press the cloud-default buttons to see what the bytes-out would be if each workload ran server-side instead. Press the Hadron button to confirm that the same job runs to completion without sending anything.

Hadron mode 0 B Bytes-out for this session
Cloud-default mode 0 B If you had used the SaaS instead
Last simulated payload
WorkloadCloud sends outHadron sends outPrivacy delta
Sort 1M floatse.g. log-line ranking, market depth 8 MB upload 0 B 100%
Pipeline 1M sales rowsfilter + groupBy + sort 32 MB upload (PII in rows) 0 B 100%
Find-in-files 20K-file repofind-in-page, secret scanner ~50 MB source code upload 0 B 100%
RAG over 5K documentssemantic search, support agent ~120 MB embeddings + every query 0 B (query stays local) 100%
Email urgency classifieron-device training Every email body + every label 0 B (labels never leave) 100%
The cost axis. Each of these workloads has a named SaaS that customers pay for today. This tab shows what those line items cost on public 2026 list prices, scaled to your deployment size. Hadron's own commercial terms are not on this page - they're set per-engagement and negotiated directly. The math here is purely: what cloud-default vendor spend Hadron displaces.

Monthly cloud-default spend (the bill Hadron displaces)

Public list prices as of 2026 (Datadog Pro, GitHub Advanced Security, OpenAI, Snowflake credits, Algolia). Drag the slider to scale to your deployment.

100 users
WorkloadCloud-default monthlyCloud-default annual
Real-time dashboardsDatadog Pro @ $23/host/mo - -
Repo secret scanningGitHub Advanced Security @ $49/committer/mo - -
AI completion re-rankOpenAI judge @ $1 / 1K calls, 1K calls/user/mo - -
In-browser analytical SQLSnowflake compute, ~$30/user/mo equivalent - -
Hosted searchAlgolia Build, ~$1 / 1K searches, 5K/user/mo - -
Total cloud-default spend Hadron displaces -

Hadron's own commercial terms (enterprise licence, support contract, source-escrow options) are deliberately not listed here. They're scoped per deployment and discussed directly. The cloud-default column is the spend you are walking away from once Hadron replaces these workloads on the user's device.

The resilience axis. SaaS implementations of these workloads fail in five named ways: network outage, expired API key, rate limit, data-residency block, auth-provider downtime. Hadron has none of those failure modes because it does not call out. Press the offline-test button below to make the page literally run with navigator.onLine = false.

Does it work when X breaks?

Five failure modes that strike SaaS implementations regularly. Hadron has none of them because it does not depend on a server round-trip.

Failure mode
Cloud SaaS
Hadron
No network
plane, train, SOC, air-gapped lab
×request fails
runs locally
API key revoked
key rotation, billing pause, security incident
×401 from server
no key needed
Rate limit hit
429 storms during onboarding spikes
×throttled or rejected
no shared limit
Data residency block
EU/UK/CA can’t leave region
×compliance violation
data never leaves device
Auth provider outage
Okta / Auth0 / Cognito downtime
×login broken
no login required

Live offline-mode test

Press the button. The page overwrites window.fetch to throw for the duration of the test - any code path that needs a network call dies. Then it tries to (a) run a small workload through each of the four Hadron libraries and (b) reach five named SaaS endpoints. The libraries should all complete; every cloud endpoint should fail. The button restores the original fetch when you press Reset.