finds.dev← search

// the find

Clivern/Beaver

★ 1,580 · Go · MIT · updated Jun 2026

💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.

Beaver is a self-hosted WebSocket messaging server written in Go, backed by Redis for state. It's a Pusher-compatible alternative: you manage channels and clients via REST API, then push messages to subscribers over WebSocket connections. Aimed at developers who want a simple pub/sub layer without paying for a hosted service.

Redis as the only dependency keeps the operational footprint minimal — no separate message broker needed. The three channel types (public, private, presence) cover the real-world use cases without overengineering. The REST API for channel/client lifecycle management is clean and predictable. Prometheus metrics endpoint is built in, which most similar projects bolt on late if at all.

Redis is both the message bus and the persistent store, which means channel membership and config vanish if Redis is flushed or corrupted — there's no durable backend option. The JavaScript client example is literally 7 lines and there's only one community-maintained Go client; no official client libraries for any language. Horizontal scaling of the WebSocket tier is not addressed anywhere in the docs — if you run two Beaver instances, clients connected to different nodes won't receive each other's messages unless you wire up Redis pub/sub yourself. Last meaningful activity appears to be from 2018–2019 despite recent commits, suggesting the recent pushes are maintenance-only with no feature development.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →