SHARKPARTY
Case studies
Case study · Full-stack · Media · Privacy

Minimum Rage.

An independent labor media platform—investigative work stories, policy advocacy, and worker-organizing resources. I designed, built, and ship it solo on the Cloudflare edge, with an audience layer that refuses to become a surveillance liability.

Role—Creator & sole engineer Live—minimum-rage.com
Astroastro-pureReactTypeScriptCloudflare PagesPages FunctionsR2PagefindWalineRSS
// The sharp part—a privacy-first audience layer

Collect a mailing list without collecting a liability.

Form

A newsletter or contact form posts an email to an edge function—no third-party form SaaS, no tracking pixel.

Edge function

A Cloudflare Pages Function validates the address, rate-limits by IP (5/min), and dedupes—abuse handling before anything is stored.

Hash, not identity

It stores a SHA-256 hash of the email, not the email—a one-way identifier for dedup only. Subscriber lists themselves are encrypted at rest.

R2 + welcome mail

The record lands in R2 and a themed welcome goes out via Cloudflare Email Sending. The audience list is never a plaintext honeypot.

A publication that covers surveillance and organizing has no business hoarding its readers' emails in the clear. So it doesn't: the subscribe and contact endpoints validate and rate-limit at the edge, then persist a one-way SHA-256 hash for dedup while the actual subscriber lists sit encrypted in R2. If the database leaks, there's nothing in it worth stealing.

// The publication
01
Static-first publishing

An Astro site on a customized astro-pure theme with React islands—investigative pieces, a platform, strategy, take-action, and resources, rendered fast at the edge.

02
Findable & syndicated

Pagefind full-text search that needs no backend, an RSS feed, sitemap SEO, and auto-generated social cards so every piece travels well.

03
A place to argue

Waline comments and tag/archive navigation turn a blog into a publication people actually move around in.

04
Boring to operate

Deploys to Cloudflare Pages, linted and formatted with oxlint/oxfmt, and cheap enough that an independent labor outlet can actually afford to run it.

// Outcome
Solo
Design → build → publish
Edge-native
Cloudflare Pages + Functions
Hash-only
No plaintext emails stored
Static-first
Search, RSS, fast

// Sibling to RORBT—same politics, same privacy posture: the media arm to the organizing arm.

// Want the deep version?

Happy to talk through the hard parts.

Email Kam More work