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.
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 requests | every upload, every page, every API call | 10 M | $0.30 per million |
| Worker CPU time | time spent executing the Worker | 30 M CPU-ms | $0.02 per million CPU-ms |
| D1 rows read | the portal reading, the job polling | 25 G | $0.001 per million |
| D1 rows written | uploads, laps, audit and log rows | 50 M | $1.00 per million |
| R2 storage | track bundles and lap documents | 10 GB-month | $0.015 per GB-month |
| R2 class A operations | one write per upload and per lap | 1 M | $4.50 per million |
| R2 class B operations | the job and the portal reading documents back | 10 M | $0.36 per million |
| Durable Object requests | one per socket opened, and one per twenty frames the logger sends; frames out to spectators are free | 1 M | $0.15 per million |
| Durable Object duration | wall-clock time a stream is open | 400 000 GB-s | $12.50 per million GB-s |
| Egress | everything served | unlimited | free |
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.
Three kinds of data, three shapes of bill.
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.
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.
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.
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.
If it’s been useful to you.
The whole bill is $6–15 a month. Anything you give goes to it and nowhere else. Thanks for even reading this far.