README.md

bisk #

a ball pit of bisks, sized by likes.

live: bisk.social

every ball is a post. the bigger the ball, the more likes. click one to open it in your client of choice.

  • live — posts as they're liked, in real time
  • all-time — the biggest bisks there have been

how it works #

bisk.json   ← a scheduled flow computes the standings off the open network and
              publishes to R2 — the source of truth, same for everyone
              (backfill/, flow lives in my-prefect-server/flows/bisk.py)
site        ← fetches /bisk.json on load, then:
  physics   ← d3-force (collision + a pull to center)
  live      ← spacedust ws overlays likes as they land (flourish on the baseline)
  coop      ← the crownings, each embedding the bisk it crowned
  open      ← clients.ts — your preferred atproto client, remembered locally

the standings never depend on browser state: a refresh re-pulls the snapshot.

run #

bun install
bun run dev

deploy #

static build → wisp, custom domain on Cloudflare.

bun run build