Skip to main content
Markdown is a language for formatting text. Unoverse Markdown is a language for streaming UI. Both are things a model writes. Markdown carries prose and nothing else, so it cannot say β€œthese four figures are a comparison” or β€œthese six paragraphs are a sequence”. The reader gets a wall of text, and each surface guesses at the structure differently. Unoverse Markdown is written the same way, by a model, in one pass. What comes back is a list of typed sections rather than a string. The model says what shape each part is, the design system draws each shape as a real component, and each one renders as it arrives.

Two languages, side by side

Markdown styles characters. Unoverse Markdown names meaning, and meaning is what a designer can act on. A figure the model marks as a key fact becomes a figure the design system knows how to present, in every place that record appears.

It is still the UI

A section is not a special document format sitting beside your components. Each kind maps to an atom from the same design system your components are built from. The kinds name shapes, never domains, so the same eight serve a financial product, a restaurant menu and an e-commerce listing. What draws them is a served component, so every surface shows the same thing: a card in a conversation, the content editor, and later an email. Styling lives in tokens. An org restyles by swapping tokens, and nobody forks an atom to change a colour. The result is genuine interface rather than formatted text. Enough material with two or more groups renders as tabs, with ungrouped material above the strip and fine print on every tab. Long lists and fine print fold by default. None of that is available to a string. Sections arrive one at a time, so the interface builds downward as the model writes. A completed section is a finished component, not a fragment waiting for the rest.

Rich UX an LLM can actually produce

The model chooses which kinds, in what order, filled with the source’s own words. It chooses nothing else. A colour, a size, a font and a layout are not fields it can fill, so a bad one is unreachable rather than discouraged. What a keyFacts strip looks like was decided once, by a designer. The model reaches sophistication it could never author, by choosing rather than designing, and the output stays small enough to be fast and small enough to be right.
It is an editor, never an author. The model receives copy that is already written, and it may not add a fact, a figure or a claim the source does not state. Writing and structuring are separate passes, which is what keeps the grounding chain intact.
Restraint is part of the instruction. Prose is the default and carries anything Markdown carries. A document is mostly prose with a little structure in it, and one that is mostly structure reads as a dashboard.

Two ways to produce one

Same vocabulary, same renderer, same output. A document does not know which way made it.

Where the vocabulary comes from

Two sources, deliberately apart. The prompt block never lists the components. A hand-written vocabulary drifts from what actually renders, so the schema is compiled from the atoms marked category: markdown. Adding an atom offers the model a new component on the next call, with no prompt to edit.
Next: Validate and Ship