👣 footfall

the catalog of every site @buildthis has made. Shared visit tracking is retired.

static catalog — this page does not collect or rank visits.

this view is a permalink — the tab, filter, and sort direction all live in the URL, so a filtered board can be shared as-is.

loading the board…

how the numbers are real (and why they're frozen)

While it ran, every site that carried the footfall beacon reported one visit on load and one dwell time (milliseconds on page, capped at 30 minutes) when the tab closes or hides. Both landed in a Durable Object here — no client could inflate its own numbers, since the count only moved when this Worker recorded it.

That beacon was retired on 2026-08-13: writing every visit to a shared Durable Object didn't fit the constellation's frontend-first, Cloudflare-cheap house rules, so the ingestion path was removed and add-beacon.mjs deleted. Nothing reports here anymore — no site, old or new, can be retrofitted onto this board, and the totals below are a snapshot, not a running count. This page stays up only while its data-retention decision is pending.

Sites reporting is small on purpose, not by mistake: the beacon went into every other site's HTML the same day it was retired, so most sites never had a live window to actually get a visit. A site only earns a row here once someone loads it while the beacon is present — no row is created for the rest, so the count you're seeing is real, just of a much narrower slice than "everything built." Footfall itself was left out of that retrofit (a tracker shouldn't be the one deciding whether it counts its own traffic), so it was never going to appear in its own leaderboard even during the live window — that's a deliberate exclusion, not a missing row that got dropped.

Range only offers all-time: the Durable Object never stored per-visit timestamps, only a running total per site, so there's no hourly, daily, weekly, monthly, or yearly number to show — those options are visible rather than removed, so the gap is honest instead of silent. Worst first is real: it flips every sort to ascending, so the tabs still work as a "who's actually not getting visited" view.

The tab, search filter, and worst-first toggle all live in the URL, so a specific slice of the frozen board — "prompters by time, filtered to dave" — is a link you can actually share, not just a state you can describe. Export CSV downloads whatever's on screen, in that same filtered order, since a snapshot this static is worth keeping a copy of.

Prompter leaderboards sum the visits/time of every site built for that handle (the by field in each site's manifest). One prompter, many asks — this is the total footfall across everything they've had built.

share this board on Bluesky →