The standup runs itself.
Scriber facilitates your standup by voice — prompting each person, capturing blockers, updating Linear in real time. A second silent agent, Mnemo, remembers every prior standup and whispers what you forgot.
Every meeting AI is passive. Scriber acts.
Spinach, Otter, Fireflies, Fellow, MeetGeek — they listen, then post-meeting they act.
Scriber flips this. The agent acts during the conversation, with the Linear
board visibly mutating live. The visceral moment: someone describes a flow,
Scriber generates a diagram with gpt-image-1, and the image appears on
the ticket in the Linear UI before the speaker finishes their sentence.
Scriber
Joins your call. Prompts each teammate. Listens for blockers, commitments, status changes. Executes Linear actions as the conversation happens.
- Voice
- cedar
- Model
- gpt-realtime-2
- Reasoning
- medium · low latency
Mnemo
Never speaks into the call. Reads the live transcript. Holds context across every prior standup. Whispers tactical guidance to Scriber over a private side-channel.
- Voice
- silent · text only
- Model
- gpt-realtime-2
- Reasoning
- xhigh · deep thinking
Two agents. One conversation. Real action.
-
01
Scriber joins your standup
Voice in, voice out — over Google Meet or Zoom. Speaks like a colleague, not a bot.
-
02
It executes Linear actions live
Creates tickets. Updates statuses. Adds comments. Generates diagrams via
gpt-image-1and attaches them to tickets — all mid-sentence. -
03
Mnemo whispers what Scriber would miss
"Vishal mentioned this latency issue Tuesday — Ben committed to spiking it." Scriber voices it naturally.
-
04
The standup wraps itself
Verbal recap. Slack message. Linear board reflects everything that was said. Total human effort: just talking.
Three minutes. One real standup.
Demo video drops at submission — refresh in a few hours.
Two Realtime sessions. One WebSocket. Browser-native.
┌────────────────────────────┐
│ Google Meet / Zoom call │
│ humans + Scriber │
└──────────┬─────────────────┘
│ audio in/out (BlackHole 2ch)
┌──────────┴────────────────────┐
│ Browser (Next.js page) │
│ │
│ ┌──────────────────────────┐ │
│ │ Scriber │ │
│ │ Realtime-2 · cedar │ │
│ │ Tools: linear.* · │ │
│ │ diagram · slack │ │
│ └──────────────────────────┘ │
│ │ ▲ │
│ transcript│ │ whispers │
│ ▼ │ │
│ ┌──────────────────────────┐ │
│ │ Wake-word state machine │ │
│ │ ALWAYS_ON → LISTEN → │ │
│ │ ACTIVE → QUIET → prev │ │
│ └──────────────────────────┘ │
└──────────┬─────────────────────┘
│ WS
▼
┌────────────────────────────────┐
│ Mnemo (Bun sidecar) │
│ Realtime-2 · text-only │
│ Tools: linear.read · rag · │
│ whisper_to_scriber │
└────────────────────────────────┘
Tonight's build uses BlackHole 2ch for audio routing on macOS — Scriber lives in a browser tab, audio bridged into Meet through a virtual cable. Production swaps to Recall.ai so Scriber appears as a real tile in the Meet grid.
What's under the hood
- Realtime
gpt-realtime-2 - Images
gpt-image-1 - Tickets
Linear MCP + GraphQL - Recap
Slack incoming webhook - Audio
BlackHole 2ch → v1: Recall.ai - Memory
Mock JSON → v1: Mem0 / Qdrant - Runtime
Bun · Next.js 15 - Hosting
Cloudflare Pages
Want this for your team?
Drop a note — I'll wire you up when the hosted version ships.
Email the waitlist