Keep it running · what it costs

Where the hosting money goes.

The sync service runs on Cloudflare: a Worker for the API and the portal, D1 for the rows, R2 for the documents, and one Durable Object for each live stream. Cloudflare bills each of those on its own, with an allowance included in the plan. This page is that bill, line by line, at the prices the service itself uses when it estimates the month.

The plan

Workers Paid, $5 a month, then usage.

Every line below sits on top of the subscription and counts only what goes past the allowance. R2 is the one service Cloudflare will not switch on without a card on file, whatever the usage — which is why a self-hosted copy asks for one too.

Resource What drives it Included each month Beyond that
Worker requestsevery upload, every page, every API call10 M$0.30 per million
Worker CPU timetime spent executing the Worker30 M CPU-ms$0.02 per million CPU-ms
D1 rows readthe portal reading, the job polling25 G$0.001 per million
D1 rows writtenuploads, laps, audit and log rows50 M$1.00 per million
R2 storagetrack bundles and lap documents10 GB-month$0.015 per GB-month
R2 class A operationsone write per upload and per lap1 M$4.50 per million
R2 class B operationsthe job and the portal reading documents back10 M$0.36 per million
Durable Object requestsone per socket opened, and one per twenty frames the logger sends; frames out to spectators are free1 M$0.15 per million
Durable Object durationwall-clock time a stream is open400 000 GB-s$12.50 per million GB-s
Egresseverything servedunlimitedfree

Cloudflare’s published Workers Paid prices, as written into the service on 17 September 2026. They go stale silently; check the pricing page before quoting one.

By data type

Three kinds of data, three shapes of bill.

tracks

Paid once, kept forever

A survey bundle is one R2 write and one document on arrival, then a handful of reads when the nightly job merges it. Bundles are never deleted — they are the evidence behind a published outline — and they are still the cheapest data the service holds.

sessions

The one that compounds

Every lap is a document in R2, kept for ninety days by default. So the steady state is ninety days of whatever the arrival rate is, not the rate itself: a hundred drivers each sending an evening a week is a few gigabytes that never go away until the sweep. Retention is the dial, and it lives in the admin’s settings.

live

Paid while somebody watches

A stream is a Durable Object that stays awake for as long as the logger and its spectators are connected, and that wall-clock time is what Cloudflare bills. Nothing is stored beyond a thirty-second ring buffer, so a stream costs nothing once it ends.

The figure on the front page

Where that number comes from.

Right now the bill is around $6: the $5 Cloudflare plan plus a bit of storage. The $15 is my guess at where it lands with about a hundred people syncing and ten or so streaming regularly, with some padding in case I’m wrong. I’ll update this once I have a few real invoices to go on.

Saved sessions are what push it up first, since every lap sticks around for ninety days. Live streams come after that. If donations ever come in ahead of the bill, the extra just rolls into future months.

The datalogger itself costs nothing to run. It is a container on your own machine, it needs no account, and it does everything on the front page without a sync service at all.

Projected September 2026.