Powered by Moss

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?"
Architecture ↓

Two surfaces. One Moss index.

For research teams

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

For developers

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-only
asks aloud

Customer

browser

web/

Next.js on Vercel

mints LiveKit token

voice-agent/

Python worker on Moss platform

joins WebRTC room, runs the retrieval hook

retrieves · alpha 0.8

Admin surface

Slack · read + write
uploads or talks to the bot

Employee

Slack channel

admin/

OpenClaw gateway on a VM

Socket Mode, no inbound ports

moss-knowledge

OpenClaw plugin

reads files, indexes structured or chunked

reads + writes

Moss index

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.

207 docs
Neon Postgres

voice_sessions

Voice agent appends one row per turn. Admin reads via the neon-sql plugin (read-only, 2-second timeout).