Built in a café, for the auditor.
We run a restaurant in Amsterdam. Its invoices, vendors and payments are the real work Choreograph was built for.
Five back-office functions ran on the earlier proof-of-concept: accounts payable, accounts receivable, bookkeeping, scheduling and inventory. The rebuilt accounts-payable flow is proven on Wanakam’s real invoices, cut-over with the release; events and scheduling follow.
The recorded demo uses the café’s invoice documents. The suppliers visible in its screens give the work its shape.

Three graphs, one substrate.
Know what is allowed, what is happening, and how you got here. Choreograph keeps the rules, the shared state of the work and its history together, so a handover does not mean starting again.
StateGraph — the rules. The steps a task can take, who may take them, and what must be true before it moves on.
WorldGraph — the shared present. The current state of connected tasks, so people and agents can coordinate around the same work.
TimeGraph — the history. The recorded changes that let an auditor reconstruct how the work reached this point.

The framework is a category. Bullshit is not a morphism.
An agent’s assertion cannot become a committed change just because it sounds convincing. The workflow must declare the transition, authorise the actor and satisfy the conditions before the record can move on.
TaskType defines the allowed changes. Each TaskType is a small category C_T: states are objects, and declared transitions are morphisms. Each transition names the actor classes authorised to take it. Most pairs of states have no allowed arrow between them.
TimeGraph records valid paths. It is the free category generated by those transitions. A commit chain is a composable sequence of declared changes; branches are forks in that history.
WorldGraph preserves the structure. The mapping W: TimeGraph → Configs takes the recorded path to the resulting configuration. A reachable state must follow the declared transitions.

The unrepresentable is unreachable. “Let’s pretend this invoice is RECONCILED” is a sentence, not a transition. It composes with nothing; it cannot be committed.
{ Pre(a) ∧ Inv(s) }apply(a){ Post(a) ∧ Inv(s′) }The Coordinator checks the preconditions, postconditions and invariants before every commit.
Anti-bullshit is not a prompt and not a guardrail. It is the statement that the category has no morphism for the lie.
Open.
The framework, record format and verifier open with the repository under Apache-2.0. Evidence must be something a third party can re-run.
We intend to sell operational trust around the framework: a hosted control plane, anchoring and underwriting services. The verifier stays open.
Gaurav Singhal
Two‑time founder; former head of data and AI at a private‑equity firm; co‑founded mVAM at the UN World Food Programme; background in economics and machine learning. Choreograph springs from twelve years of putting production AI in front of people, models and money, through processes too messy for any one tool to own.
Builder
- COFRA: AI Labs from zero; value created across the portfolio.
- Wanakam: founded Amsterdam’s first South Asian culture café.
- Arboreum: founded AI‑native credit; India’s first WhatsApp supply‑chain finance.
- WFP mVAM: 200 to 75,000 respondents in 52 countries; HungerMap.
Researcher
- University of Michigan: M.S. Information Science, M.S. Economics; PhD candidate, econometrics; NSF Fellow.
- Papers: IJCNN, Procedia (best paper), PLoS One, Bayesian small‑area estimation.
- DFKI: deep reservoir computing for chaotic dynamics.
- World Bank: authored the Earth Observation field manual for the food and nutrition security programme.
Operator
- Led the AI transformation of a European asset‑management group.
- Runs the restaurant on whose invoices Choreograph is proven.
- gaurav@arboreum.dev