avatar
Larry HsiaoMobile App Developer · Android & Flutter

Frame0 vs. ASCII Wireframes: Measuring the Cost of One Screen

2026-05-22 · 4 min read

I recently wired Frame0 into Claude Code's MCP toolset. The idea is simple: let the AI sketch a wireframe inline during a conversation, so layout decisions move faster than prose can describe them.

But that surfaces a question — how many tokens does it actually cost to draw one wireframe?

I used my own side project Heimdall, a Jira desktop client, as the guinea pig. The same main screen was drawn twice in the same session: once as plain-text ASCII, once as a real Frame0 vector via MCP. Same structure, same mock data, single session.

Both sketches side by side

ASCII, rendered inline with zero MCP calls:

ASCII fallback wireframe of the Heimdall tickets page

Frame0, 93 shapes, exported as PNG:

Frame0 wireframe of the Heimdall tickets page

The same screen — AppBar, tab strip, search box, assignee dropdown, table (with sub-task indent, hidden-subtask indicator, priority icons, status pill) — drawn once in each medium.

The numbers

AxisASCIIFrame0
Token costNear-zero (message characters)50k–70k (MCP round-trips)
Wall timeSecondsA few minutes (LLM generation ≫ MCP processing)
Visual fidelityMonospace misalignment, emoji-as-iconTrue vector, exportable PNG
Suitable for outbound useNoYes
Cost to editEdit a stringRedraw, or update shape-by-shape

That 50k–70k for Frame0 is not evenly distributed. Broken down:

A small move that saves ~25k

After one pass, every icon name I needed is now known:

UseFrame0 icon name
Storybookmark
Task / Sub-tasksquare-check
Bugbug
Epiczap
Settingssettings
Searchsearch
Useruser
Dropdown chevronchevron-down
Priority up / downarrow-up / arrow-down
Priority highest / lowestchevrons-up / chevrons-down

Next time the same kind of screen comes up, search_icons is skippable — pass the name directly. That single step drops the total from 50k–70k to ~30k.

A small trap on the side: create_icon's name parameter is the icon library's name, not whatever label you fancy. The first pass I used names I'd recognize myself (e.g. action-hash) and got 500s on all five icons. Switching to real names — hash, refresh-cw — they went through. About 1.5k tokens wasted on the wrong assumption.

The workflow it left behind

Align structure in ASCII first, then redraw the final in Frame0.

ASCII's value is not its looks — it is that the cost of correcting a mistake is near zero. Pin down column order, grouping logic, and empty-state behaviour in the text version; the Frame0 pass then becomes a translation of an already-settled structure into a reviewable visual.

If you instead start in Frame0 and keep nudging coordinates, swapping icons, tweaking pill widths, the cost is not 50k–70k — it is two or three times that. Every shape edit means an update_shape, and update is just as expensive as create.

For others trying MCP tools


This benchmark was run on 2026-05-22 with Claude Opus 4.7, the Frame0 MCP client, and the Heimdall main screen (an 800×632 desktop frame) as the sample. Numbers are estimates — the session itself cannot read the harness's exact token counts; the session-usage panel is the authoritative source.