About
A small tool that does one thing
Runnev is event streaming over plain HTTP. We built it because the projects we worked on kept hitting the same wall: WebSockets that worked on a laptop and fell apart behind a customer's proxy, and message brokers that were far too much machinery for what was, in the end, an ordered log someone needed to read over the network.
What it is
A stream is an ordered, durable log addressed by a base62 id. You publish batches to it with
POST and read them back with a long-lived GET that streams
server-sent events. That is the whole surface. Everything else in the product exists to
make those two operations reliable across the messy middle of the internet: cursor
resume, idempotent writes, retention windows, replay.
How it is built
The service is a single Go binary with no external broker. Streams live in memory as bounded ring buffers with metadata persisted to durable storage. It runs behind a CDN that terminates TLS and speaks HTTP/2 and HTTP/3 to clients. We keep the moving parts few on purpose; a system you can hold in your head is a system you can keep up at three in the morning.
Who we are
A small, self-funded team working remotely. We are not venture-backed and we are not trying to be a platform for everything. We would rather do streams well than do ten things adequately. If that shows up as a missing feature you need, tell us; the roadmap is mostly written by the people who email us.
Where we are going
Near-term work is about retention flexibility, better replay ergonomics, and regional routing so a subscriber connects to an edge close to it. We are working toward SOC 2 and will say so plainly when we have it rather than before. You can follow along on the changelog and the blog.