Skip to content
MISSIONBuilding to $50K/year · partnership threshold — every $20 subscription reserves 10 meals in the fund. Report published monthly.SEE THE PROGRESS →
DOC · UPDATED 2026-08-08

Design mode.

How LADLE Design produces complete, single-file HTML documents, iterates in place, and stores every revision as a versioned artifact.

Design mode is a distinct chat mode in LADLE. It swaps in a dedicated system prompt, pins the routing to Sonnet at 16K max output tokens, and instructs the model to produce complete, self-contained single-file HTML documents. Every reply is captured as an artifact of type=design; every iteration is a new version pointing back to the message that produced it. The right-side panel previews the file live in a sandboxed iframe with desktop/tablet/phone width toggles.

Entering design mode

Three ways: (a) click Design in the sidebar and start a new chat from the /design surface; (b) hit ⌘K and pick 'New design chat'; (c) visit /chat?new=1&mode=design directly. All three paths set chats.mode='design' on the freshly created row, which persists for the life of the chat. The mode is set once at chat creation; existing chats do not become design chats retroactively.

What the model produces

Every reply is a single ```html``` code block containing a complete HTML document with `<!doctype html>`, `<html>`, `<head>` (title + one Google Fonts link + inline `<style>`), and `<body>` (with optional inline `<script>` for interactivity). No external dependencies beyond one Google Fonts family and images from picsum.photos / unsplash.com for placeholder art. Mobile-responsive by default; a max-width for the main column; tasteful defaults across type, spacing, color.

Artifact + version lifecycle

Every design reply is captured as an artifact. Every subsequent revision is a new version pointing back at the message that produced it. The panel opens on the newest by default.

First reply in a chatCreates a new artifact row + version 1
Subsequent repliesThe current implementation creates a NEW artifact per reply (not new versions of the first). Future work: reuse artifact + version_++ for in-thread iterations.
Panel behaviorPanel opens automatically on the newest artifact; users can browse older versions via the version selector in the panel header when a single artifact has multiple versions
Storageartifact_versions.content = raw HTML string; artifact.type = 'design'; artifact.title = pulled from <title> or <h1>, else 'Design'

Preview device toggle

The artifact panel's design preview offers three widths: DESKTOP (100%), TABLET (768px), PHONE (390px). The width is applied client-side by resizing the iframe wrapper; the underlying HTML is unchanged. Frame chrome adds padding around the wrapped iframe so the mobile/tablet preview reads as a device, not a crop.

Iterating a design

Send feedback and the model modifies the previous design rather than starting over — the design system prompt instructs it to preserve every choice you did not ask to change. It re-emits the full document in every reply so the preview always has a runnable file to render. Truncated replies (rare, but possible when a design pushes past 16K output tokens) are salvaged by a partial-HTML fallback that closes tags before rendering — the preview stays functional even when the model runs out of budget.

Tokens, cost, and timing

Design replies use substantially more tokens than normal chat. The model outputs a full HTML document with inline styles on every turn. Budget these turns like the biggest calls in your day.

Modelclaude-sonnet-4-6 (pinned)
Max output tokens16,000
Typical reply size3,000-10,000 output tokens for a full landing page
Wall-clock time60-120 seconds for a first-turn design; 40-80 seconds for an iteration
Cost per reply (typical)~$0.05-$0.15 in Anthropic API cost
Vercel maxDuration300 seconds (bumped from 90 to allow design turns to complete)

When design mode is the right tool

Best for: single-page landing designs, one-screen posters, transactional emails, isolated components (a hero, a pricing tier, a testimonial card). Not appropriate for: multi-file applications (React apps, SPAs, anything requiring build tooling); designs that require third-party dependencies beyond one Google Fonts family; anything that needs a real backend. For code that needs a build step, use a normal code artifact (assistant reply with a 40+-line code block) instead.

Share and download

From the artifact panel header: Copy (writes the raw HTML to your clipboard), Download (saves as .html to your machine). Design artifacts do not have a share primitive of their own; share the source chat instead — its /share/:slug rendering will include the design's HTML as a code block visitors can copy and preview offline.

RELATED

Docs: Artifacts · Usage limits

Task guides in /help: What happens when you hit the cap.

Docs stay current. Report drift.

If a limit in the product doesn't match the number on this page, that's a bug — help@ladle.chat.

See all docsWatch it work
$20/MO · CANCEL ANYTIME · $0.80/MEAL · RECEIPTS MONTHLY
Read the ledger →
0meals fundedROLLING TOTAL · UPDATED HOURLY
SEE THE RECEIPTS →