Your stack · Growth $998 / mo
RezetHub · Infrastructure running-cost projection

Where each workload should run, at every scale.

A provider-by-provider cost model for the circular-materials Digital Product Passport platform — AWS vs Google Cloud vs Cloudflare across Postgres, storage, egress, compute, backup/DR, and the AI-token menu. Companion to the v1.4 Technical SoW (§5, §9). Pick a provider per line and every tier re-totals.

List / on-demand · mid-2026 us-east-1 / us-central1 USD ex-GST ESTIMATE — assumptions below
The two findings that shape the whole model

Cloudflare can't be the whole stack — but it owns the lines that explode at scale.

Finding 01 · Postgres

Cloudflare has no managed PostgreSQL.

D1 is SQLite, not Postgres-compatible. Hyperdrive is a free pooler that fronts a Postgres you host elsewhere (Neon, RDS, Cloud SQL). So the database always carries a partner bill — Cloudflare can't own that line, and it isn't offered as a pick.

Finding 02 · Egress & DR

R2 egress is $0 — for passport reads and restores.

Scans scale into the millions; at Consumer that's ~$1,200/mo of egress on AWS/GCP versus $0 on Cloudflare — and the same free egress makes backup restore / cross-region replication free. Its weakness: Containers (its only always-on compute) costs ~3× a VM.

Assumptions · the load-bearing inputs

Tier profile & where the levers live.

Round SoW-keyed estimates drive every number below. The interactive controls sit where they act — the provider picker and AI model/switch on the Stack picker rows, the egress payload in Network egress, the DR standby in Backup & DR.

Provider per line — the picker on each row of Stack picker. ★ = the recommended default: a two-provider stack (AWS + Cloudflare), not three.

AI model & on/off — on the AI assistant row of the builder; switching the model shows how sharply cost scales — Flash → Opus is ~12×.

Egress payload — the slider in the Network egress section.

DR standby — the toggle in the Backup & DR section.

Round order-of-magnitude estimates (~1k batches/org·mo, ~10 scans/batch, ~5 MB/batch, ~5M AI-tokens/org·mo), scaled 10× per tier. Pilot volume is an open SoW item; storage is cumulative (climbs over a product's life); AI-tokens/org is the softest input. Treat as a frame to challenge, not a forecast.

Cost lines · columns are the four scale tiers

Per-line provider comparison

Cheapest provider per tier is highlighted. Use these to see the spread; the Stack picker section lets you pick one per line and see the total move.

PostgreSQL — managed event store + read models

instance + storage + backup
Provider PilotEarlyGrowthConsumer

Cloudflare is not a row — it has no managed Postgres (Hyperdrive is a free pooler fronting an external PG, billed ≈ the AWS column). Between the two shown: GCP runs ~40% higher at Consumer — Cloud SQL SSD storage is $0.22–0.34/GB vs AWS gp3 $0.115.

Object storage — intake photos + compliance docs (standing)

retained for DPP lifetime
Provider PilotEarlyGrowthConsumer

R2 is cheapest at every tier (~35% under S3) — and it's the same bucket that serves egress for free.

Network egress — public passport reads (CDN-fronted)

scans × 0.30 MB
0.05 MB · JSON only1.0 MB · image-rich
Provider PilotEarlyGrowthConsumer

The decisive line at scale. CloudFront's 1 TB/mo free tier holds AWS at $0 through Growth; GCP's CDN bills from 1 GB. Cloudflare is $0 everywhere — the advantage bites once reads pass ~1 TB/mo, i.e. at Consumer.

Compute — always-on .NET monolith (webapi + signalr + analyser)

stateful, 24/7
Provider PilotEarlyGrowthConsumer

Cloudflare Containers is ~3× a VM — it bills per-10ms of active runtime, built for bursty jobs, not a 24/7 process. GCP e2 is ~10–15% cheaper than AWS Graviton. The table above compares the three clouds; the Stack picker adds a fourth compute option — AWS Fargate (the chosen target). Fargate carries a ~1.3–1.5× premium over on-demand EC2 (Growth: ~$340 vs ~$224; and ~2–3× vs reserved EC2) — but reserved-EC2 economics need steady committed capacity, the opposite of one-command ephemeral {env}.rezethub.dev environments. Fargate's scale-to-zero, zero-patching, per-task model is that sweet spot; the premium (~$120/mo at Growth) is repaid in ops. Move prod's always-on node to reserved-EC2 later if Consumer-scale compute cost bites — a config change, non-prod stays on Fargate.

Backup & disaster recovery

DR delta — daily backup already in managed PG
Backups alone = restore in hoursStandby = promote in minutes
Provider PilotEarlyGrowthConsumer

Managed Postgres already does the daily backup. RDS / Cloud SQL include automated daily snapshots + point-in-time recovery, free up to 1× the DB size — you don't need R2 for daily backup. This line is the DR delta: surviving a whole region or provider. AWS/GCP = native cross-region snapshot copy (inter-region transfer ~$0.02/GB). Cloudflare = a cross-provider dump to R2 — $0.01/GB to store and $0 to restore, but it pays the DB cloud's egress (~$0.09/GB) to export the data out. So R2 is the right target when the DB is self-managed (today's VPS — no managed backup, S3-compatible, free restore) or when you specifically want off-AWS resilience; on RDS it's an add-on for provider-independence, not a replacement for RDS's own daily backup. Backups vs failover: object-storage backups give a low RPO but restore in hours (RTO); the hot standby toggled above is the fast-failover layer — a second running replica, promotable in minutes, added as its own DR standby line (~0.8× the DB) in the stack below.

AI · the model menu

Token cost swings ~12× on model choice alone.

AI is a per-token choice, not an AWS/GCP/CF line — the model dropdown sets the provider (Gemini→Vertex, GPT→OpenAI, Claude→Anthropic). The code default is Gemini 2.5 Flash. Rates per 1M tokens; blended assumes an input-heavy 4:1 assistant. Prompt-caching cuts cached input to ~10%; batch paths are 50% off.

Per-model rates & monthly assistant spend

selected model highlighted
ModelInput /1MOutput /1MBlended /1M PilotEarlyGrowthConsumer

Why this matters commercially: expose Flash as the margin-safe default and offer premium models as a priced upsell — never as the baseline. Flash → Opus is $3.7k vs $45k/mo at Consumer. GPT-5 is the model named in scope; OpenAI's live flagship has since moved to the 5.4/5.5/5.6 line.

Stack picker · one provider per line

Pick your stack — the total re-totals as you choose.

Pick a provider for each line; ★ marks the cheapest option. The default stack is RezetHub's actual choice: Fargate compute + AWS database, Cloudflare for storage, egress and backup, and Datadog observability. Toggle the assistant and switch its model right on the AI assistant row. The sticky total and contrast cards follow your picks; picking AWS/GCP for egress or backup also makes the payload lever move the total.

Observability = Datadog (OTLP): APM traces, infra metrics, logs and RUM in one portal — "what is our infrastructure doing." Estimated at ~$50/host (APM + infra) plus log ingest and RUM; the swing factors are log retention and RUM session volume, so the public passport is sampled, not full-fidelity. Set the line to None to see the total without a portal. (Instrumentation is vendor-neutral OTLP, so the portal is a config swap; the previous error-only tracker is retired in favour of this.)

Your stack — blended monthly total

AI = Gemini 2.5 Flash
Line · provider PilotEarlyGrowthConsumer
Contrast · Consumer tier, infra only (excl. AI)

The recommended picks save ~30–40% vs committing to one hyperscaler at Consumer scale — almost entirely from R2's $0 egress and cheaper storage/DR. Sanity check: Pilot production ≈ $65/mo (~A$100); across prod + reduced staging + small test that lands inside the SoW's A$300–900/mo three-environment envelope.

Caveats · how to move the numbers

What these figures don't yet include.

Reserved / committed-use discounts
List prices shown. RDS 1-yr ~30% / 3-yr ~60%; GCP CUDs ~37/57%; Savings Plans up to ~66%. Expect 20–40% off Postgres + compute at Growth/Consumer. R2 and AI are usage-priced (no commit tier).
Three environments
Totals are one production environment. SoW runs prod + staging + test — multiply prod compute/DB by ~2–2.5×; storage/egress/AI barely move (staging/test carry little data or traffic).
DR is a modelled delta, not a quote
Managed PG's daily backup + PITR is included (free ≤1× DB); this line prices only DR (region/provider loss) on the DB. Media DR is separate — object stores are already 11-nines; add cross-region replication if a second copy is required. The DR standby line prices one cross-region read replica (~0.8× the DB); a full second live region (replica + its own app compute) adds the compute line too. Cross-provider→R2 pays the source cloud's export egress.
Not modelled yet
Resend email (free → $20/mo at 50k), Cloud TTS/STT, Stripe per-txn fees, LB query overage. Small at pilot; itemise before Seed scale. (Datadog observability is modelled as its own stack line above.)