RORBT.
No gods // no hard centers // no masters
A privacy-first grassroots organizing platform—“organize without permission.” I designed and built it end to end: making organizing cheap, surveillance expensive, and co-option structurally impossible, one sovereign orbit at a time.
The architecture is the politics.
Real-time, at the edge, without a central honeypot.
A server-rendered Astro site and a shared component library / design system, deployed to Cloudflare Pages.
Identity, roster, and vouching on Cloudflare D1 (SQLite) through Drizzle ORM.
Member and newsletter lists stored encrypted in R2—decryptable only with keys the platform never holds in the clear.
One hibernatable Durable Object per orbit holds the live WebSocket connections and fans messages out—key-blind, and it persists nothing.
The messaging relay is the sharp end of the design. Pages can't host a Durable Object, so OrbitRoom ships as its own Worker and binds back in. It's deliberately dumb: it gates nothing, holds no keys, sees no ciphertext, and persists nothing—it just fans already-authorized messages out to an orbit's live sockets, and hibernates the moment the room goes quiet. Privacy and cost fall out of the same decision.
A decade of AWS intuition, re-earned on the edge.
Building RORBT meant relearning almost every mechanism I trusted—bindings instead of IAM, sagas instead of transactions, Durable Objects instead of locks and cron. This series is the field notes: real bugs, real error messages, real trade-offs I got wrong the first time. If you want the technical deep-end of this case study, it lives here.
// Every layer—design system, auth, data model, real-time, content, deploy—is mine. This is the one where I got to make every call.