Vaibhaw Mishra

AppEncrypted messaging

Whisprl

A private messenger that works as well on a phone as on a desktop: end-to-end encrypted chats and groups, passkey sign-in, statuses and disappearing messages, all in real time.

Role
Built and maintain
When
Since 2023
Status
Released
Stack
  • React
  • Redux Toolkit
  • MUI
  • Node.js
  • Express
  • MongoDB
  • Socket.IO
  • WebAuthn
  • Web Crypto
Whisprl, the cover screen

In short

  1. End-to-end encrypted, so only the people in a chat can read it

  2. Passkey sign-in, groups, 24-hour statuses and disappearing messages

  3. Fully responsive, from a phone to a wide desktop

  4. Live presence and typing over Socket.IO

What it is

A real-time messenger built to keep conversations private: one-to-one and group chats, statuses that last 24 hours and reach only the people chosen, messages that disappear after a day, a week or 90 days, usernames, friend suggestions, blocking and reports, with live presence and typing. It is fully responsive, so a phone gets the same app as a desktop.

How it is built

React, Redux Toolkit and MUI on the client; Node, Express and MongoDB on the server, with Socket.IO for the live channel. Each device makes its own P-256 key pair and encrypts every message with AES-GCM before it leaves, and the private key is backed up sealed, so the server never holds anything it can read.

Sign-in works with a passkey through WebAuthn, where every challenge can be used once, alongside OTP email sign-up and three social logins. Sessions use no cookies: a short-lived access token is renewed by signing a fresh challenge with a key the browser keeps and cannot export, shared by every request and the socket.

Screens

Whisprl, screen 1 of 6
Whisprl, screen 2 of 6
Whisprl, screen 3 of 6
Whisprl, screen 4 of 6
Whisprl, screen 5 of 6
Whisprl, screen 6 of 6