~/saas/hermes
self-hosted · chat · v2.0 · live

Hermes v2.0.1

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 1.22WebSocketsRedis pub/subReact 18TypeScriptS3-compatible storage
$89 / one-time
USD · pretax · prices fixed forever
Try the widget
released june 2024
version 2.0.1 (apr 2026)
widget size 12kb gzipped
license unlimited projects
downloads 982
support discord + email
hermes-widget · #dev-room
@kasia · 2:14pm
ready to ship the new release?
yeah, one sec. running the final test
@kasia
👍 — i'll draft the announce
tests green. deploying now.
@paulo
🎉 v2.0.1 live. 38ms p50. onto the next
@kasia is typing…
product shot
Hermes realtime chat widget · live mockup
01

One node, 10k connections

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.

02

12kb React widget

Drop in a <HermesProvider>, pass your auth token, done. Fully typed, SSR-safe, keyboard-accessible. Swap the styling; the logic stays.

03

Threads, edits, receipts

Every message is editable. Threads branch without polluting the main channel. Read receipts without stalking — off by default, enabled per-room.

04

Attachments via S3

Drag-drop files up to 100MB. Direct upload to any S3-compatible bucket (AWS, R2, Backblaze, Minio). Thumbnails generated server-side.

05

Presence + typing

Who's online, who's typing, who's idle. Transmitted via WebSocket, deduped by Redis, O(1) read for any room size.

06

End-to-end typed

Go generates TypeScript types for every message schema. You can't send a malformed payload — the compiler won't let you.

What's in the zip

Go server binaryStatic binary, 14MB, builds from source with go build.
React widget (npm package)Private npm registry access. TypeScript, ES modules, tree-shakeable.
Admin dashboardModerate messages, ban users, audit logs, export conversations.
Docker compose + k8s manifestsDeploy any way you want. Production-tested configs.
Hosted demo roomSee it running on our infra before you buy.
120-page integration guideAuth flows, message moderation, compliance, scaling.

Changelog (recent)

2026.04.09v2.0.1Attachment edit-in-place, thread deep-linking, React 19 compat
2026.03.22v2.0.0New widget architecture, 40% smaller bundle, threading
2025.11.14v1.6.0Redis pub/sub for multi-node, horizontal scaling guide
2025.07.28v1.4.0S3 attachments, presence, read receipts

FAQ

Is it a Slack replacement?

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.

Mobile?

The React widget works in React Native via a thin wrapper. Native iOS/Android SDKs on the roadmap for Q3 2026.

Encryption?

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.

Can I use it with a non-Go backend?

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.

/ stop rolling your own chat

Drop the widget in. Ship it tomorrow.

/ reviews

What buyers are saying.

★★★★★ 4.9 / 5 · 247 verified reviews
★★★★★ apr 12, 2026

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.

Alex Chen verified
senior engineer · berlin, de
★★★★★ apr 04, 2026

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.

Sarah Miller verified
indie founder · austin, tx
★★★★☆ mar 28, 2026

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.

David Patel verified
platform engineer · london, uk
★★★★★ mar 22, 2026

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.

Priya Rao verified
tech lead · bangalore, in
★★★★★ mar 15, 2026

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.

Mikael Lindberg verified
design lead · stockholm, se
★★★★☆ mar 08, 2026

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.

Elena Vasquez verified
product engineer · mexico city, mx