Slate
Send it anything. Ask for the document later.
Capture a line, a photo or a voice note without filing it. Ask for a document and Slate writes it in your organisation’s format, citing every block to the material behind it.
What it does
Capture never waits on a model and never asks where a thing belongs
Reads a document’s shape from last year’s copy, then fills it
Every block cites the material it came from; gaps become questions
Multi-tenant isolation enforced by Postgres row-level security
Telegram bot, React dashboard and Ratatui terminal over one backend
The long version
Every organisation runs on documents with a fixed shape and moving content — a question paper, a ward handover, an incident report. Nobody writes those; they fill them. Every tool built to help asks which project a note belongs to at exactly the moment nobody has time to answer.
Slate splits keeping from filing. Anything sent to the Telegram bot, the dashboard or the terminal is stored at once, with no model in the path. When a document is asked for, a deterministic gateway routes the request, retrieves the material, and hands it to the drafting agents inline — so one drafting path serves a chat with no session token as well as a signed-in browser.
Each block of the draft names its sources, and a required section with nothing behind it parks the run and asks the person, on the surface they asked from. Tenancy is enforced by Postgres row-level security rather than by query discipline, so an agent cannot read another team’s documents even if it tries.