I built elm.chat around a narrow idea: a conversation should not automatically become a permanent server-side asset.
It is not a replacement for a contact network or a claim that metadata can disappear. It is a disposable room for one live conversation. The interesting engineering question was how to make that room reliable without giving the server a readable or persistent transcript.
The current answer is:
React and Web Crypto in the browser
one Cloudflare Worker for the app and API






