Die Trying · 05
Architecture
- Python on Workers. Stock FastAPI on the Pyodide runtime. No threads, no filesystem; state lives in D1.
- Data rules. Currency changes only through an append-only ledger, loot writes are idempotent, and DM-only fields are removed on the server, not hidden in the browser.
- Party board refresh. A thirty-second poll. Tabletop pace does not need a socket.
- Deploys. Workers Builds runs D1 migrations and deploys on every push to main.