---
schema: 1
type: video
title: >-
  Building the Engine While Flying the Plane: Launching the Figma MCP Server —
  Jesse Lumarie, Figma
description: >-
  Figma did not have 20% projects. Jesse Lumarie gave one to the MCP server
  anyway, one day a week, because he had seen an internal demo and wanted non
  designers to be able to pull from Figma. That side project became the
  company's first MCP server in about three months, and then one of the fastest
  growing products Figma has ever shipped. The build happened while the ground
  moved. Weeks in, a new version of the spec deprecated the transport they had
  chosen, and client support was so uneven that a compatibility matrix was a
  real artifact they maintained. The interesting decisions are about
  representation. Figma's canvas is a scene graph in C++, close to the HTML DOM,
  and they had three ways to hand it to a model. They picked React and Tailwind
  on a hunch that models had seen the most of it, and the output is pixel
  perfect. Passing images inline as base64 blew up the context window and got
  cut. Pixel perfect turned out to be only half the problem, because an
  enterprise does not want a beautiful generated button, it wants its own
  accessible internationalized one, so Code Connect sends a pointer to the real
  component instead of markup. Two hours grading an eval by hand in a
  spreadsheet convinced them never to do that again, and evals now run hundreds
  of times a week behind LLM judges. Speaker info: - https://x.com/jesselumarie
  - https://www.linkedin.com/in/jesselumarie/ Timestamps: 0:00 - A 20% project
  at a company without 20% projects 2:02 - Uneven client support, and a spec
  that moved 2:55 - What the local server gave developers 3:52 - Three ways to
  represent a scene graph 4:47 - Why images alone did not work 5:40 - Grading
  evals by hand, once 7:32 - Code Connect, and why pixel perfect is not enough
  9:24 - Elicitation and sampling, and hacking around them 13:55 - Shipping
  local first, then remote 15:43 - How early all of this still is --- Watch
  along with the corrected transcript, summary, timestamps and resources on this
  talk's official AIE page:
  https://ai.engineer/talks/ZIYYsAzaLlA-youtube-4bda4f86328f4b84c23c Join our
  upcoming AI Engineer conferences (see https://ai.engineer landing page): -
  AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and
  engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference
  returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS
  2026 in Sydney ---
canonical: >-
  https://liquidgold.cc/channel/aidotengineer/explore/video/building-the-engine-while-flying-the-plane-launchin-2578510d6c6b
markdown: >-
  https://liquidgold.cc/channel/aidotengineer/video/building-the-engine-while-flying-the-plane-launchin-2578510d6c6b.md
llms: null
parent: 'https://liquidgold.cc/channel/aidotengineer.md'
channel: aidotengineer
updated: '2026-10-24T04:34:00.890Z'
language: null
children: []
videoId: ZIYYsAzaLlA
durationSeconds: 1006
publishedAt: '2026-08-28T14:00:06.000Z'
searchChunks:
  - ordinal: 0
    text: null
    startSeconds: 12
    endSeconds: 24
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=12'
    heldReason: rights
  - ordinal: 1
    text: null
    startSeconds: 24
    endSeconds: 128
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=24'
    heldReason: rights
  - ordinal: 2
    text: null
    startSeconds: 24
    endSeconds: 128
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=24'
    heldReason: rights
  - ordinal: 3
    text: null
    startSeconds: 128
    endSeconds: 139
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=128'
    heldReason: rights
  - ordinal: 4
    text: null
    startSeconds: 139
    endSeconds: 183
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=139'
    heldReason: rights
  - ordinal: 5
    text: null
    startSeconds: 183
    endSeconds: 195
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=183'
    heldReason: rights
  - ordinal: 6
    text: null
    startSeconds: 195
    endSeconds: 242
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=195'
    heldReason: rights
  - ordinal: 7
    text: null
    startSeconds: 242
    endSeconds: 252
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=242'
    heldReason: rights
  - ordinal: 8
    text: null
    startSeconds: 252
    endSeconds: 287
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=252'
    heldReason: rights
  - ordinal: 9
    text: null
    startSeconds: 298
    endSeconds: 342
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=298'
    heldReason: rights
  - ordinal: 10
    text: null
    startSeconds: 342
    endSeconds: 353
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=342'
    heldReason: rights
  - ordinal: 11
    text: null
    startSeconds: 353
    endSeconds: 452
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=353'
    heldReason: rights
  - ordinal: 12
    text: null
    startSeconds: 463
    endSeconds: 566
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=463'
    heldReason: rights
  - ordinal: 13
    text: null
    startSeconds: 576
    endSeconds: 841
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=576'
    heldReason: rights
  - ordinal: 14
    text: null
    startSeconds: 576
    endSeconds: 841
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=576'
    heldReason: rights
  - ordinal: 15
    text: null
    startSeconds: 576
    endSeconds: 841
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=576'
    heldReason: rights
  - ordinal: 16
    text: null
    startSeconds: 576
    endSeconds: 841
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=576'
    heldReason: rights
  - ordinal: 17
    text: null
    startSeconds: 841
    endSeconds: 851
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=841'
    heldReason: rights
  - ordinal: 18
    text: null
    startSeconds: 841
    endSeconds: 851
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=841'
    heldReason: rights
  - ordinal: 19
    text: null
    startSeconds: 851
    endSeconds: 951
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=851'
    heldReason: rights
  - ordinal: 20
    text: null
    startSeconds: 851
    endSeconds: 951
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=851'
    heldReason: rights
  - ordinal: 21
    text: null
    startSeconds: 951
    endSeconds: 961
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=951'
    heldReason: rights
  - ordinal: 22
    text: null
    startSeconds: 961
    endSeconds: 1006
    watch: 'https://liquidgold.cc/watch/ZIYYsAzaLlA?t=961'
    heldReason: rights
---


# Building the Engine While Flying the Plane: Launching the Figma MCP Server — Jesse Lumarie, Figma

Figma did not have 20% projects. Jesse Lumarie gave one to the MCP server anyway, one day a week, because he had seen an internal demo and wanted non designers to be able to pull from Figma. That side project became the company's first MCP server in about three months, and then one of the fastest growing products Figma has ever shipped. The build happened while the ground moved. Weeks in, a new version of the spec deprecated the transport they had chosen, and client support was so uneven that a compatibility matrix was a real artifact they maintained. The interesting decisions are about representation. Figma's canvas is a scene graph in C++, close to the HTML DOM, and they had three ways to hand it to a model. They picked React and Tailwind on a hunch that models had seen the most of it, and the output is pixel perfect. Passing images inline as base64 blew up the context window and got cut. Pixel perfect turned out to be only half the problem, because an enterprise does not want a beautiful generated button, it wants its own accessible internationalized one, so Code Connect sends a pointer to the real component instead of markup. Two hours grading an eval by hand in a spreadsheet convinced them never to do that again, and evals now run hundreds of times a week behind LLM judges. Speaker info: - https://x.com/jesselumarie - https://www.linkedin.com/in/jesselumarie/ Timestamps: 0:00 - A 20% project at a company without 20% projects 2:02 - Uneven client support, and a spec that moved 2:55 - What the local server gave developers 3:52 - Three ways to represent a scene graph 4:47 - Why images alone did not work 5:40 - Grading evals by hand, once 7:32 - Code Connect, and why pixel perfect is not enough 9:24 - Elicitation and sampling, and hacking around them 13:55 - Shipping local first, then remote 15:43 - How early all of this still is --- Watch along with the corrected transcript, summary, timestamps and resources on this talk's official AIE page: https://ai.engineer/talks/ZIYYsAzaLlA-youtube-4bda4f86328f4b84c23c Join our upcoming AI Engineer conferences (see https://ai.engineer landing page): - AIEi Shanghai, November 5–6 — the first for meeting top Chinese labs and engineers - AIE CODE in SF, November 10–12 — the top AI Coding conference returns - AIEi Sydney, December 7–8 — the first AIEi run alongside NeurIPS 2026 in Sydney ---

Canonical: https://liquidgold.cc/channel/aidotengineer/explore/video/building-the-engine-while-flying-the-plane-launchin-2578510d6c6b · Channel: [AI Engineer](https://liquidgold.cc/channel/aidotengineer.md)

> Search chunk text is held until public-source provenance is verified.

## Document chunks

> Missing: no stored document chunks are available.
