pushes on tangled sites.wisp.place/zzstoatzz.io/punch
fun tangled
7
fork

Configure Feed

Select the types of activity you want to include in your feed.

punch#

who's pushing on tangled.org — push-count leaderboard across every knot. one row per committerDid, ranked by sh.tangled.git.refUpdate events.

sites.wisp.place/zzstoatzz.io/punch

stack#

relay.waow.tech (listReposByCollection)
      ↓
 knot /events (WS, per-host)
      ↓
 CF Worker (*/10 min cron)  →  D1 (cursors, pushes) + KV (handles)
      ↓
 place.wisp.fs record on pds.zzstoatzz.io  →  sites.wisp.place

dev#

bun install && bun run dev            # static site at :4747

cd worker && bun install
wrangler dev                          # worker; GET /__run fires one cycle
wrangler deploy
wrangler tail

secrets: PUNCH_HANDLE, PUNCH_APP_PASSWORD (atproto app password for the wisp-publishing account).

publish#

the worker only rewrites leaderboard.json in the wisp manifest each tick. html/css/js changes ship with a manual wispctl:

wispctl deploy zzstoatzz.io --path public --site punch --password "$PUNCH_APP_PASSWORD" --yes
why pushes, not commits

tangled's own PUNCHCARD filters meta.commitCount.byEmail[] by the committer's private verified-emails table (core/appview/state/knotstream.go:219 in tangled). without that table we'd massively overcount merges/rebases. one refUpdate = one push is the cleanest metric we can compute from public firehose data — and it surfaces accounts tangled's counter hides (e.g. prolific pushers who haven't run email verification).