Dan Bednarski

pricklypears

Personal site running on Cloudflare Workers. Pure HTML+CSS, no JavaScript (enforced via CSP script-src 'none').

Deploy

npm install
npx wrangler deploy

You need a Cloudflare account and a KV namespace for the guestbook. The namespace ID is in wrangler.toml.

How it works

The worker serves a fake terminal UI at /. Commands are submitted as GET params (/?cmd=who) and the server returns a full HTML page with the output. No client-side JS runs at all – the typewriter animation is pure CSS (@keyframes + steps()).

The guestbook lives at /guestbook and stores posts in Cloudflare KV as a single JSON array, capped at 200 entries.

Everything is in one file: src/index.ts.