Meaning, made legible.
Rheme is a deterministic semantic runtime. We read prose in real time and keep the shape of what it says, so software can finally tell a claim from a quote and a hedge from a fact.
Code has had a language server for years. It watches every symbol, names every reference, and catches a slip before it becomes a bug. Prose never had that. Meaning was either left untouched or flattened into a single vector that averaged away the very things that mattered, the source of a claim and the certainty behind it.
We started Rheme to give meaning the same care that code gets. The runtime resolves a sentence along ten semantic axes as you type, around 12.6 ns per token, and it returns the same answer every time. Because it never turns words into embeddings, attribution survives the parse. You can always trace a phrase back to whoever uttered it.
The mission underneath all of it is access. Epistemic meaning, who knows what and how surely, should be legible to everyone, not locked behind a model only a few can run. So we keep the runtime small, deterministic, and ours, with no telemetry and nothing fetched from a third party.
Four things we hold to.
Determinism over guesswork
The same input returns the same reading, every run. Annotations you can build a test on, not a fresh guess each time.
Attribution is sacred
Who said a thing is never averaged away. A quote stays a quote, and a claim stays its author's.
Accessibility first
Plain language, glossed jargon, and a runtime light enough to run anywhere. Meaning should be for everyone.
We own everything
Self-hosted fonts, our own icons, no CDN, no telemetry. The runtime makes no request you did not ask it to.
See it read.
The docs run like a live Rheme client. Every page annotates as you go.
Explore the docs