lunato

The motion layer for AI interfaces.

Streamed answers, agent status, live captions and rewrites change their minds as they go. lunato moves only the words that changed, in any framework, with one function.

bun add lunato

Streaming text

New words rise in as they arrive. The ones already on screen hold still, and a word the model takes back morphs where it stands.

Token meters

Bind a count and only the digits that changed roll, like an odometer. The rest of the number holds still.

Build it with any agent

Pick your coding agent and copy the prompt. It installs lunato, binds the text that changes in place and leaves a note where the agent keeps its instructions.

One function

Bind an element once. Every later change to its text morphs, in plain JavaScript, React, Vue, Svelte or Solid.

lunato

npmilunato