Voice recall over research on Outlay, a fictional expense-tracking tool.
- "What slows down approvals?"
- "Did mobile v2 actually help?"
- "Is anyone paying out of pocket?"
Two surfaces. One Moss index.
Anyone on the team asks aloud on the web. Researchers curate the same corpus from a private Slack channel where they already write up findings. A transcript dropped at 14:02 is answerable by voice at 14:03.
Product Manager · Designer · Researcher · Customer Success · Executive
A Next.js client, a Python voice agent on the Moss-managed runtime, and an OpenClaw gateway in Slack. Every retrieval and every write goes through a single Moss SDK. No ingestion pipeline, no content management system, no redeploy.
Public surface
Voice · read-onlyCustomer
browser
Next.js on Vercel
mints LiveKit token
Python worker on Moss platform
joins WebRTC room, runs the retrieval hook
↓ retrieves · alpha 0.8
Admin surface
Slack · read + writeEmployee
Slack channel
OpenClaw gateway on a VM
Socket Mode, no inbound ports
OpenClaw plugin
reads files, indexes structured or chunked
↓ reads + writes
outlay-research
Hybrid retrieval, sub-10ms warm queries. The boundary between the public and admin surfaces sits here, at the capability layer (read vs read+write), not at the data layer.
voice_sessions
Voice agent appends one row per turn. Admin reads via the neon-sql plugin (read-only, 2-second timeout).