← All Projects
Grove app icon
In Development

Production-grade, multi-tenant real-time chat platform. Modular monolith with a documented path to horizontal scaling.

Node.js 22 Fastify v5 WebSocket PostgreSQL Expo

Stack

RuntimeNode.js 22 + TypeScript (strict)
HTTPFastify v5
DatabasePostgreSQL 16 + Kysely
ClientExpo (React Native, Web, Electron)
TestingVitest, 104 passing against a real Postgres DB
Custom WebSocket Gateway

Grove runs its own binary-level protocol over raw ws with no socket.io or abstraction layer. The handshake (HELLO → IDENTIFY → READY), heartbeat/ACK zombie detection, session RESUME with a 500-event ring buffer, and staggered server-initiated RECONNECT for zero-downtime deploys are all built in-house.

Features

Real-Time Chat

Rich text messaging, reactions, and persistent channels organised into servers that communities own and control.

Voice Channels

Drop into voice instantly. Peer-to-peer audio with no downloads required. Screen sharing live, video coming soon.

Voice Invites

Share a link and recipients land on a card showing the activity (Gaming, Coding, Watching), how long the session has been running, and how many people are already in. Guest join is three steps: click, type a username, join. No account required. For existing users it's one tap. The invite doubles as a soft scheduling signal: a low-friction "I'm around, come hang."

Community Tools

Servers, roles, invite codes, per-channel controls, moderation tools, and presence states. The infrastructure for communities of any size.

Other Notable Details

  • UUIDv7 PKs: time-ordered IDs enable cursor pagination with no OFFSET scans
  • Idempotency-Key on message sends prevents duplicate delivery on client retry
  • Typing indicators, per-user rate limiting, moderator controls