WebSocket · In-memory · Ephemeral

Realtime rooms,
no sign-up_

Realtime Chat spins up a room in one click and hands you a shareable Room ID and password. No accounts, no database - messages relay live over WebSockets and vanish when you're done.

latency ~live accounts 0 database none history ≤ 1h, client-side
Early access

Be first in the room.

Realtime Chat is in active development. Leave your email and we'll tell you the moment it's ready to try. One message, no spam.

No spam - just one message when Realtime Chat is ready.

How it works

A room in three steps.

No email, no onboarding. Create, share, talk - the whole thing lives in the server's memory and disappears when the room goes quiet.

01 / create

Create a room

One click generates a room with a shareable Room ID and a one-time password. No account, no database record - just an in-memory room.

02 / share

Share the credentials

Send the Room ID + password to anyone. They pick a display name and they're in. The first person to join is the host.

03 / talk

Talk in realtime

Messages relay live over Socket.IO with presence, emoji and image attachments. Nothing is ever stored on the server.

Live by default

See who's here, as it happens.

Optimistic send puts your message on screen instantly and reconciles it against the server's ack. Presence updates the moment someone joins or leaves, and the host can kick or ban anyone in the room.

  • Live presence and typing, powered by Socket.IO
  • Emoji picker and image attachments
  • Host-only moderation with automatic handoff
Features

Everything a room needs, nothing it doesn't.

A modern, fully-typed, well-tested rewrite - with the security details handled and no server-side state to leak.

Guest access, no accounts

Create or join by Room ID + password. Wrong credentials get a single generic error - there's no user database to enumerate or leak.

Realtime messaging

Socket.IO powers live message broadcast, optimistic send, and live presence - so you see who's in the room the instant it changes.

Host moderation

The first guest in a room is the host and can kick or ban others. The role hands off to the next-oldest member automatically on leave.

Emoji & image attachments

A built-in emoji picker plus image uploads validated by magic bytes - not just the file extension - with strict size limits.

Light, dark & accessible

A polished, keyboard-accessible interface with light and dark themes and a layout that stays comfortable on any screen size.

Ephemeral by design

Messages are never stored on the server. Your browser keeps them for up to an hour, then purges - and empty rooms are reclaimed automatically.

Tech stack

Fully typed, well tested, no database.

Two independent TypeScript packages in one repo, green test suites on both sides, and a Docker setup that boots the whole thing in one command.

Backend

  • TypeScript
  • Express 5
  • Socket.IO 4
  • zod
  • JWT
  • bcrypt
  • helmet
  • In-memory (no DB)

Frontend

  • TypeScript
  • React 18
  • Vite
  • Tailwind CSS
  • Zustand
  • socket.io-client

Tooling

  • Jest + supertest
  • Vitest + Testing Library
  • ESLint
  • Prettier
  • Docker
Private by architecture

No database. No history. No tracking.

Rooms live in the server's memory and are reclaimed when they go quiet; messages are relayed live and cached in your browser for at most an hour, then they're gone for good. Nothing to store, nothing to leak.

get early access →
Early access

Get on the list.

Realtime Chat is in active development. Leave your email and we'll tell you the moment it's ready to try. One message, no spam.

No spam - just one message when the hosted version launches.