I built FluxyChat (MIT) because I wanted inspectable edge chat without a socket fleet.
Hot path: WebSocket → Room Durable Object (ordering + fan-out) → async persist to D1. Cross-room features stay in D1/HTTP.
Repo: https://github.com/AlessandroFare/fluxychat
Beta: https://www.fluxychat.com/get-started
Open questions:
- DO hibernation + reconnect storms — what worked for you?
- Batching D1 writes after broadcast — tradeoffs?
Top comments (0)