Hi everyone!
My co-maker and I wanted to build a completely private messaging app that works instantly in the browser without any app store downloads. We just went live with the first version of Ripple Chat!
We built this fully as a Progressive Web App (PWA) so you can install it straight to your phone's home screen like a real app.
🚀 Key Features
- True Zero-Knowledge Privacy: Client-side encryption using ECDH P-256 + AES-GCM. Your private keys never leave your browser context.
- Rich Messaging: Real-time messaging, typing indicators, emoji reactions, voice notes, and 100MB file attachments.
- Voice & Video Calling: 1:1 voice and video calls powered by a peer-to-peer WebRTC framework.
- No Firebase: Fully powered by Supabase Realtime and secure signed URLs for media storage.
🔗 Try It Out!
The project is completely free and open-source. We would love for the developer community to test it, break it, and give us honest technical feedback!
- Live App Link: https://ripple-bloom-chat.lovable.app
- Product Hunt Page: https://www.producthunt.com/products/ripple-chat-simple-private-messaging?utm_source=other&utm_medium=social
Let me know what you think about our security choices or architecture in the comments below!
Top comments (2)
With private keys that never leave the browser, the next thing I'd decide is what happens when that storage goes away: a cleared site, a new phone, or Safari clearing data for a site that hasn't been used in a while. A password reset through Supabase Auth gets the account back but not the keys, so it's worth choosing now between an encrypted key backup, a device-linking step, or a clear notice that older messages can't be read on the new device. Saying which one on the signup screen sets the right expectation for a private messenger.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.