Interactive answers
Empryo can answer with something you can use: a quick card of numbers, sliders and buttons, or a live React view with charts and animation, in the chat or in a canvas beside it.
Copy & share
On this page5 sections
Some answers are easier to use than to read. Ask "what would a 450k home cost me per month?" and Empryo can answer with a card: a slider for the price, one for the interest rate, a switch for a 15-year term, the monthly payment, a chart and buttons for the next question. Move a slider and every number on the card changes right away, without another message to the model.
Ask for oneLink to this section
Ask in your own words: "show me", "make it interactive", "let me play with the numbers". The agent decides when a card helps more than prose, and it adds a short sentence of text with every card.
The agent shows cards with its show tool. The tool loads on demand like the other optional tools, so it adds nothing to a request until the agent uses it. Turn it off in /tools (or the desktop tool settings) if you never want cards.
What a card can holdLink to this section
| Part | What it shows |
|---|---|
| Stats | A few numbers at a glance, each with a label and an optional hint |
| Chart | Bars or a line over labeled points |
| Progress | A bar from 0 to 100 with a label |
| Callout | A short highlighted note |
| Text | A paragraph with basic markdown |
| Code | A block of code you can copy |
| Slider | A number you drag between a minimum and a maximum |
| Switch | An on/off choice |
| Buttons | Follow-up questions; tapping one sends it as your next message |
Sliders and switches set values that the rest of the card uses. Any text, stat, chart point or progress bar can include a formula in double braces, such as {{round(price * 0.2)}}. Formulas support + - * / % ^, comparisons, a ? b : c, and round, min, max, sqrt, abs, pow, log and exp. A button's text can use the same values, so "Compare lenders at {{rate}}%" sends the rate you picked.
Live views and the canvasLink to this section
When a card is not enough, the agent writes a live view: a small React app in TypeScript, styled with Tailwind on your theme, with the app's own buttons, tabs, sliders, inputs, tables and cards, Framer Motion animation, Lucide icons, Recharts charts and three.js for 3D. Dashboards, calculators, diagrams, demos and small tools all fit.
- In the chat: a view sits where the agent showed it, between the steps before it and the text after it. Hover it for the canvas button.
- In the canvas: the agent can open a view in a canvas beside the chat, or you can move one there. The canvas follows the newest view while the agent works, pages back through earlier ones, and can fill the window. Close it and the view returns to its place in the chat.
- Talking back: a view can send you a follow-up question when you press one of its buttons, so "Ask about this plan" goes straight to the agent.
- When it breaks: a view that hits an error says so under it, with an Ask to fix button that sends the error to the agent.
Views run in a sandboxed frame with no network, storage or access to the app, files or your session. The agent's code is checked before it is shown: a syntax error, a missing default export or a module that is not available goes back to the agent to fix, and nothing broken reaches you.
The agent can frame a view with text: markdown parts before and after it render in order around it.
Where cards appearLink to this section
- Desktop app: under the answer, in your theme's colours.
- iPhone and Android: under the answer, with native sliders, switches and charts. A live view shows its one-line summary and a note to open it on your computer.
- Terminal, headless and ACP: the same card as text, with the values it started with. A live view shows its summary.
The agent also gets the text version back, so it knows what it showed you and can talk about it.
LimitsLink to this section
- A card can hold up to 40 parts, and a list inside one up to 24 items.
- A formula that cannot be worked out shows a dash (—) instead of a number. A formula longer than 600 characters is never worked out.
- Formulas only do arithmetic on the card's own values. They cannot read files, reach the network or run code.
- Values you set with the sliders live on that screen. Reopening the chat shows the card with its starting values, and a live view starts fresh when it scrolls back into view.
- A live view can be up to 160,000 characters of code and imports only the modules listed above.
- Parts the app does not know are skipped, so a card made for a newer Empryo still shows what an older one can draw.