Skip to content

Riff listens to a conversation and maps it while you talk. Subjects open on a timeline, points land under them, and decisions get marked as done or dropped. An agent keeps reworking the map as the talk moves on. Open the same session on a laptop and a phone, and both stay in step.

Try Riff

How it uses Statewire

Each session is a Cloudflare Durable Object that hosts its own Statewire. The browser posts what it hears as transcript segments. The agent inside the object turns them into subjects and a timeline, writing straight into the session's state. Every open browser gets those writes as patches.

Riff's architecture. The recording browser posts transcript segments to the session's Durable Object. Inside it, an agent reads the segments, calls a model and writes the map into the Statewire host's state. The host streams patches to every browser that has the session open.Session · Durable ObjectRecording browsertranscribesAgentupdates the mapStatewire hostsession stateModelLLM APIOpen browserslive mapsegmentspromptwritespatches
  • The browser reads with one useStatewire hook over HTTP. It sends no commands; everything it changes goes through the object's own routes.
  • The session's state is saved in the object's storage. After a deploy or an eviction, the object wakes up with the last snapshot and every browser reattaches on its own.
Hand this to your agent