Not publically accessible yet! KF Staff can point their agents at /llms.txt.
How it works
Figure 1. One event, from a page to the files the dashboard reads.
Default usage is through the client: just add the script, and Gauge will automatically send an event per pageview. Gauge can be customized to send any event desired. Gauge can be used on the client or on the server.
The Worker checks that the request came from a registered site. It stamps the day from its own clock, takes the country from Cloudflare’s network, reduces the browser to desktop, mobile, tablet or bot, and writes one row. It also adds one to the site’s tally for the day, which is what the console bills.
The row goes into a Cloudflare Pipelines stream, which writes it every few minutes into an Apache Iceberg table in R2, the data catalog. The raw table is never served over the web.
Each night a compactor runs DuckDB over the table, drops bots, and adds each site’s finished days up into nine Parquet files: days, pages, subjects, referrers, campaigns, devices, countries, downloads and searches.
The dashboard reads those files in the browser, a byte range at a time, and so can the site itself. A static site can show its readers’ numbers without a server.
Figure 2. What the Worker keeps from one request.
Gauge does not store any cookies. Repeat visits will not be tracked. Gauge distinguishes between raw views and unique visits purely by examining whether the Referrer Header matches the current host.
Figure 3. One night’s compaction: rows become daily counts.
Every number in the files is a count, so a week, a month or a year is the sum of its days, and exact. By default a site’s files can be read from its own pages, by its server with its secret, and by Knowledge Futures staff. A project can make them public, or keep them to its server.