Deck Studio

Fact-grounded presentations from a spreadsheet or statement. The model never sees a number.

checking local model…

Start

Drop a file or click to choose
.xlsx · .csv · .pdf · .html · .docx · .txt/.md · up to 8 MB
sample as .xlsx · .html · .docx · .md · .txt

How it works

Six stages in fixed order. Five are deterministic code; one is the model.

1 Ingest reads every cell with its coordinate.
2 Facts types every number: value, unit, period, entity, source. Changes and shares are computed here, in code, with inputs recorded.
3 Narrative — the model — picks facts by id and writes sentences with slots. It is shown entities, periods and directions, never values.
4 Compose chooses charts and order from the shape of the facts.
5 Render fills slots from the fact store and draws charts from typed values.
6 Verify blocks delivery on any figure that does not resolve.

Why a deck generator that cannot invent a number

Language models are good at deciding what is worth saying and at saying it well. They are unreliable at reproducing numbers, and the failure is silent: a fabricated figure reads exactly like a correct one. In an end-to-end generator the document is flattened to text, the model writes slides containing digits, and there is no point at which a figure could be checked against its source.

Deck Studio is arranged differently. Numbers are extracted deterministically into typed facts (value, unit, period, entity, source cell) before the model is invoked. Changes, percentage changes and shares are computed in code with their inputs recorded. The model is shown fact identifiers, entities, periods and directions, never values, and returns sentences with slots. Code maps every slot to a fact, rejects any sentence with a digit outside a slot, a slot used as a name, a change verb attached to a level, or a comparison the numbers do not support. Values are substituted at render time from the fact store, charts are drawn from typed values, and a verification stage refuses to deliver a deck in which any rendered figure fails to resolve. Figure resolution and source coverage are reported together, because either alone is easy to game.

It runs on a small open-weight model on a desktop Mac, which is the practical point: the architecture, not the size of the model, is what makes the numbers trustworthy. Supported inputs are spreadsheets (xlsx, csv), Word and HTML documents, Markdown, plain text and PDFs with tables. Documents without numeric tables are read for sentences containing figures, which become page-sourced quotes. Uploads are kept for the session only.