Loom
Code becomes interface.
Loom is the dynamic UI system that transforms AI responses into rich interactive components. Charts, forms, tables, maps, and code blocks render as native UI elements directly in the chat.
When the AI determines that a visual representation would be more useful than text, it generates a JSON canvas schema. Loom's adapter converts this schema into the appropriate React component for the current platform.
This means asking 'Show me a chart of my monthly expenses' renders an actual interactive chart. Asking for a form produces input fields. The chat becomes the interface.
Canvas Components
Interactive Charts
Bar charts, line graphs, pie charts, and area charts rendered from AI-generated data with hover tooltips and responsive sizing.
Inline Forms
Dynamic forms generated from AI schema. Text inputs, selects, checkboxes, and date pickers — all rendered within the chat.
Data Tables
Sortable, filterable data tables for structured information. Perfect for comparing options, viewing lists, or displaying results.
Location Maps
Embedded maps with markers, routes, and location context. Powered by native map rendering for directions and place searches.
Code Blocks
Syntax-highlighted code with copy buttons and language detection. Supports 40+ programming languages with proper formatting.
Dynamic Generation
The AI decides when to use canvas. No explicit request needed — asking about data may automatically trigger a chart.
Cross-Platform Rendering
Web chat gets full interactive widgets. Messaging platforms receive optimized images or formatted text representations.
Live Updates
Canvas components can update in real-time as new data streams in. Charts grow, tables populate, and forms respond dynamically.
How Loom renders UI
AI generates schema
Cortex decides a visual component is appropriate and generates a JSON canvas schema describing the component type and data.
Adapter transforms
Loom's adapter converts the schema into a React component for web chat or an optimized format for messaging platforms.
Component renders
The interactive component appears in the chat. Users can hover, click, sort, fill forms, and interact natively.