Drop-in realtime chat for any web app. Go + WebSockets on the server, a 12kb React widget on the client. Receipts, attachments, threads, edit-in-place — and 10,000 concurrent connections on a single node without breaking a sweat.
Go + epoll + a tight goroutine pool. On a 2 vCPU VPS, Hermes holds 10,234 concurrent WebSockets with 38ms p50. Horizontal scaling via Redis pub/sub when you need more.
Drop in a <HermesProvider>, pass your auth token, done. Fully typed, SSR-safe, keyboard-accessible. Swap the styling; the logic stays.
Every message is editable. Threads branch without polluting the main channel. Read receipts without stalking — off by default, enabled per-room.
Drag-drop files up to 100MB. Direct upload to any S3-compatible bucket (AWS, R2, Backblaze, Minio). Thumbnails generated server-side.
Who's online, who's typing, who's idle. Transmitted via WebSocket, deduped by Redis, O(1) read for any room size.
Go generates TypeScript types for every message schema. You can't send a malformed payload — the compiler won't let you.
go build.No. Hermes is for embedded chat — inside your app, between your users. For team chat, use Slack. For customer support live chat, for community rooms, for multiplayer collaboration — Hermes.
The React widget works in React Native via a thin wrapper. Native iOS/Android SDKs on the roadmap for Q3 2026.
TLS in transit. At-rest encryption is a Postgres configuration concern (which the manual walks through). End-to-end encryption is on the roadmap for v3.
Yes. The widget is language-agnostic — it speaks to the Hermes server, not to your app. Your app talks to Hermes via REST for moderation, user sync, etc.
Exactly what was on the tin. No upsells, no tier gates, no "contact us for pricing" once I was in. Shipped in an afternoon and the docs were readable by a human.
I've bought half the catalogue at this point. The voice is consistent, the prices are honest, and the updates actually land. It's what indie shipping should look like.
Did what the page said it would do. Knocked off half a star because I wish there was a Windows native build — I'm on WSL and it works but feels like a workaround. Support replied to me in four hours.
I bought it at 11pm, downloaded it at 11:01pm, had it running at midnight. That's the whole review. Email went to a person who answered the next morning.
The amount of thought in the copy alone makes this worth the price. And that's before you get to the actual product. Rare to see this level of care at indie prices.
Swapped out my previous tool for this one last sprint. Fewer features, honestly — but the ones that are here are the ones I actually use. Don't miss the rest.