The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI

Read the talk

Why the Design–Code Roundtrip Still Loses Information

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 597 seconds
Why the Design–Code Roundtrip Still Loses Information

Jonathan Gordon demonstrates how ReWeaver AI detects mismatches between design and code, explains why repeated AI transformations can accumulate drift, and proposes deterministic checks with humans controlling the repairs.

From a talk by Jonathan Gordon

At a glance

Ideas worth remembering

  • A true design–code roundtrip must preserve fidelity in both directions and retain provenance, including the connection between a design element and the code that produced it.

  • Visible success can conceal implementation defects. Gordon's innerHTML intervention and missing ARIA live-region example motivate inspecting generated code and checking requirements beyond appearance.

  • Gordon reports losses across five tool setups and degradation during a 12-iteration pure-LLM experiment. The unspecified configurations, scoring method, and guarded numerical results limit these findings as a general benchmark.

  • His proposed guardrails identify drift, apply known repairs when requested, and report unresolved issues for human judgment. Users retain the ability to apply, undo, or ignore changes before merge.

  • Accumulated drift becomes maintenance debt. Detecting mismatches during generation and before merge is central to Gordon's argument for keeping humans in control of design, code, and cost.

A roundtrip requires fidelity and provenance

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 13 seconds
A roundtrip requires fidelity and provenance

Jonathan Gordon opens with a small example of AI helping under pressure: mirroring his laptop screen cost him access to his speaker notes, so he asked Claude to extract them from his slide deck. He received notes, although he explicitly says he does not know whether they are correct. That distinction between obtaining a useful output and knowing that it faithfully preserves its source introduces the larger problem of the talk.

His definition of a design–code roundtrip is demanding: design and engineering must form a complete loop in both directions, lose no fidelity, and retain persistent provenance. Provenance means keeping track of where each element came from. A successful conversion in one direction therefore does not establish a successful roundtrip; the return journey must preserve the result and its relationship to the source.

Gordon admires tools that turn a request into something clickable and interactive. His concern is that this visible success can discourage people from inspecting the code. The question he wants to investigate is whether the implementation preserves the intended design, beyond making an impressive interface appear.

0:120:23
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:01 · section reference included

Why the handoff remained open

Gordon places the problem in more than 30 years of building and designing developer tools and IDEs. As a designer working with engineering teams, he repeatedly tried to make the delivered product match the original intent. Negotiation and relationships helped get software to customers, but he says they never produced a reliably closed loop.

His explanation is that design and engineering optimize for different outcomes. Engineering has requirements and technical constraints; design may be pursuing a future experience or a rebranding. Those priorities can diverge during implementation, so the handoff problem involves reconciling decisions as well as transferring artifacts.

AI offered a reason to revisit that history. An LLM could interpret design intent and also write the code for a running application. Gordon hoped that having one intelligence perform both tasks could close the loop at the speed of inference. This was the hypothesis behind his exploration, rather than a result he had already established.

2:072:10
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

2:07 · section reference included

The generated code that interrupted the vibe

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 332 seconds
The generated code that interrupted the vibe

Gordon describes going deeply into vibe coding from April 2025. He reports receiving an email placing him in the top 0.1% of Cursor usage and recalls using a $20 plan with occasional additional spending. His sustained goal was to move from design to code and back again without losing fidelity—the pixel-perfect loop he had wanted from earlier tools.

During one session, he was ignoring the stream of generated text until an innerHTML statement caught his attention. He associated it with HTML injection risk, stopped the agent, asked what it had done, and directed it to revert the change and use another approach. The example establishes that he recognized a potentially unsafe implementation choice; the talk does not provide the code, its input handling, or the replacement, so it does not establish the precise vulnerability.

That interruption changed his working method. The agent could explain its decision confidently, yet Gordon still needed to reject it. He concluded that he had to steer generation and read the code again. Further inspection revealed additional issues, motivating a deeper investigation into what the tools actually preserved.

3:483:52
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

3:48 · section reference included

Turning a conversion demo into a testable question

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 385 seconds
Turning a conversion demo into a testable question

Gordon then turns to industry claims that code and canvas could support a true roundtrip. He recalls an Anthropic and Figma demonstration in which a coding tool could create a Figma artboard from a prompt. He found that capability impressive, but wanted to investigate whether it met the stronger claim of a complete return journey.

Further announcements raised the possibility that code itself could become design material and eliminate the handoff. Gordon says his own experimentation did not support the conclusion that the roundtrip was solved. To examine that gap, he built a harness and switches into a local demonstration, briefly recovering from trouble locating it.

6:146:17
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

6:14 · section reference included

A harness with code and design side by side

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 526 seconds
A harness with code and design side by side

The harness places AI-generated code on the left and a design on the right. Gordon describes the design source as a canvas from a tool such as Figma or Sketch; the particular source is secondary to the experiment. A transformation can begin with either code or design and use a prompt to request the next artifact.

His first example asks an LLM to build a design system from a form. He describes the transformation as updating the code, creating styles, and producing a design system that works in the running application and also exists in Figma. He does not open the Figma link during this portion of the demonstration, so the corresponding Figma artifact remains something he describes rather than independently demonstrates here.

A design system, in his explanation, comprises components, tokens, variables, and styles that serve as a basis for building software. The codebase must understand that system for the two representations to work together. This makes the shared structure consequential: preserving a visible result is only part of preserving the system that produced it.

He next describes adding a company field and an orange button. Both code and design update, which looks like a successful exchange. But he leaves the return trip as an open question and introduces a separate button, Show Drift, to inspect what the apparent success may conceal.

7:407:50
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

7:40 · section reference included

Finding defects behind the visible result

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 660 seconds
Finding defects behind the visible result

Gordon identifies Show Drift as ReWeaver AI and presents it as the product's first public demonstration. It produces a list of issues by examining code and design together. The named dimensions include design quality, code quality, performance, and design tokens, extending the inspection beyond visual resemblance.

Accessibility is especially important to him because of his work at Microsoft. He recalls frustration with models generating inaccessible code and compares the situation with the need to train engineers on accessibility 20 years earlier. His point is that generated code still needs explicit attention to requirements that a functioning visual interface can fail to satisfy.

The concrete accessibility finding is a missing ARIA live region. Gordon explains that the relevant element would not be announced to a screen-reader user. ReWeaver offers a fix, he applies it, and he reports that the red issue disappears while another blue issue remains. The transcript does not identify the element or include a screen-reader test, so the demonstrated result is the reported repair and cleared finding, rather than verification of the whole accessibility experience.

The mechanism he describes is to scan both representations, collect issues, and provide guardrails together with ways to improve the code. Applying that scrutiny to five different bidirectional tool setups did not yield a complete roundtrip. He reports lost bindings and cases in which a design change survived but the code did not. The configurations and individual results are not specified, which limits how broadly the experiment can be generalized.

Gordon does not rule out future tools achieving a better roundtrip. He argues that tools for understanding drift are still necessary, even as conversion capabilities improve. The failures he reports concern information surviving repeated movement between representations, which an attractive intermediate result cannot establish on its own.

9:359:39
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

9:35 · section reference included

Checking probabilistic transformations

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 791 seconds
Checking probabilistic transformations

Gordon contrasts the repeatable behavior he expects from conventional developer tools with the variable outcomes introduced by AI. His proposal keeps AI in the workflow but surrounds it with deterministic guardrails: inspect the code, identify mismatches, and repair them. The role of those checks is to expose drift that would otherwise remain unnoticed.

He reports another experiment involving 12 iterations on a codebase with a sufficiently complex UI. In the pure-LLM condition, the output began at 30% by his description of quality, fidelity, and pixel perfection, then degraded somewhat. In the guarded condition, issues were found and fixed. The talk provides neither the scoring methodology nor a complete numerical result for the guarded condition, so it supports his reported comparison without establishing a reproducible benchmark.

He also places a limit on automation: reaching 100% requires human judgment and decision-making. He describes the remaining 10% as belonging to that judgment. This is his characterization of the boundary between automated repair and human decisions; it does not supply a measured 90% result for the guarded system.

12:1012:15
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:10 · section reference included

Making reconciliation a human-controlled operation

Selected presentation frame from The Design-Code Roundtrip That Isn't — Jonathan Gordon, ReWeaver AI at 908 seconds
Making reconciliation a human-controlled operation

Gordon describes an AI-dependent workflow in which design-to-code, code-to-design, chat, and movement across tools all incur attention and token costs. In his characterization, agents control the work while humans remain in the loop. He wants to change that distribution of authority so people control the code, design, and cost.

He distinguishes three blind spots: the probabilistic model, drift arising during generation, and drift accumulating over time. The last becomes a form of technical debt because mismatches persist and pile up across the codebase. His warning about pain over the following six months expresses the maintenance consequence he anticipates, rather than a measured duration.

The desired alternative is fully bidirectional editing with all surfaces preserved and provenance carried through every transformation. Gordon makes provenance concrete with a button in Figma: someone needs to know which line of code produced it so that changing the design can lead to changing the appropriate code. That correspondence is part of controlling drift, rather than merely recreating a similar-looking button.

He calls the core operation deterministic reconciliation. The repair policy has an explicit boundary: when the system knows a fix, it can fix the issue; when it does not, it should report the issue and leave the repair to the person. This preserves a useful distinction between detecting a violation and knowing how to correct it safely. He does not explain the underlying rules or reconciliation algorithm in the talk.

Gordon describes ReWeaver's core as using a local LLM with zero extra token costs, while allowing a connection to Claude or another model if desired. The statement concerns additional token costs in the local setup; it is not a complete accounting of operating costs. His larger principle is that humans should retain control over cost, code, and design, with the intended outcome matching what they actually need.

13:4013:44
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:40 · section reference included

Catching drift before merge

Gordon closes by describing nine dimensions of deterministic guardrails for software quality and production readiness. He names design consistency, accessibility, and AI code generation governance, without enumerating all nine in the spoken explanation. Design consistency checks whether the code and design system agree in both directions; accessibility receives its own dimension; governance addresses the volume of generated code moving through the system.

He clarifies how human control should work in practice. ReWeaver is not presented as independently authoring the application: the user can request Apply Fix, watch the resulting code change, undo it, or ignore the finding. Its ability to write a repair is therefore subordinate to the person's decision. The goal is to catch drift within a closed loop before anything merges.

He invites the audience to use a playground with a harness similar to the demonstration: supply AI-generated code, scan it, and receive results. He also describes a challenge to generate code scoring below 30 PDR, which he expands as production drift ratio. The offered rewards are a place near the front of the beta and a showcase on the page. Because he does not define the ratio or its calculation, that threshold cannot be equated with the earlier 30% fidelity figure.

The final invitation is to join the beta, improve the product, and sanity-check its claims. Gordon mentions a hoped-for mid-July rollout, but gives no year or confirmed release date in these remarks. He finishes by offering further conversation online or outside the session.

16:2016:22
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

16:20 · section reference included

Read the complete timestamped transcript
  1. 0:01

    [music]

  2. 0:12

    Hello everyone. I'm Jonathan Gordon. I'm

  3. 0:16

    a founder of Reweaver AAI, a new

  4. 0:18

    company, you know, on the scene, let's

  5. 0:20

    say. I want to share one thing with all

  6. 0:21

    of you that was really fascinating. So,

  7. 0:23

    I I plugged in my laptop and I realized

  8. 0:27

    I had to mirror. So, I no longer have my

  9. 0:29

    speaker notes. So, I went into Claude

  10. 0:31

    and I said, "Can you extract my speaker

  11. 0:33

    notes from my slide deck, please?" And I

  12. 0:35

    had my speaker notes now.

  13. 0:38

    I love AI.

  14. 0:41

    The suspense was killing me. I was

  15. 0:43

    talking to Claude

  16. 0:45

    now. Who knows if it got it right. I

  17. 0:46

    don't know. Whatever. Um, so I also

  18. 0:49

    realized that my title slide buried the

  19. 0:50

    lead. I shouldn't have put it up. Um,

  20. 0:53

    but nonetheless, let's play with this.

  21. 0:56

    So, uh, yeah, my name is Jonathan. Um,

  22. 0:59

    I'm here to talk to you about the design

  23. 1:00

    code roundtrip that isn't.

  24. 1:04

    And I guess probably the best thing to

  25. 1:06

    do first is to explain what I think a

  26. 1:09

    design code roundtrip should be. Um the

  27. 1:13

    design code roundtrip is a full loop

  28. 1:17

    between design and engineering in both

  29. 1:21

    directions without any loss of fidelity

  30. 1:26

    and with a persistent provenence. So it

  31. 1:28

    knows exactly where everything came

  32. 1:30

    from. You know that perfect dream world

  33. 1:33

    that we live in where there is no drift

  34. 1:37

    in between the gaps of design and code.

  35. 1:42

    Um, today's tools, design is amazing.

  36. 1:45

    It's incredible. It's magic. It's I ask

  37. 1:47

    for something, I get it. It's clickable.

  38. 1:49

    It's interactive. It's amazing to me.

  39. 1:52

    But nobody really looks at the code

  40. 1:54

    anymore, it seems. And so, I kind of

  41. 1:57

    want to go there. I want to go into that

  42. 1:58

    space.

  43. 2:00

    Whoops. Of course, I have to get my

  44. 2:02

    mouse to the right location. There we

  45. 2:04

    go. Um, a little bit about me.

  46. 2:07

    past 30 plus years um I've been building

  47. 2:10

    and designing coding tools developer

  48. 2:13

    tools idees at these companies um so

  49. 2:18

    I've spent a lot of time with as a

  50. 2:20

    designer I've spent a lot of time with

  51. 2:22

    design and engineering teams trying to

  52. 2:24

    understand

  53. 2:26

    how do we do that handoff well how do we

  54. 2:28

    hand off from design to code how do we

  55. 2:31

    get what we wanted to be delivered to

  56. 2:33

    the customer um it was never a perfect

  57. 2:36

    science We never got it. We never found

  58. 2:39

    that magic sauce that just made

  59. 2:42

    everything come together where intent

  60. 2:45

    matched the outcome.

  61. 2:47

    Um, but I developed techniques. I

  62. 2:50

    negotiated with engineers. I brought

  63. 2:52

    them out for drinks. I made them my

  64. 2:53

    friends. Um, I got things delivered to

  65. 2:57

    customers.

  66. 2:58

    But the the loop was never closed. Um,

  67. 3:01

    and it's because our outcomes diverged.

  68. 3:04

    engineering had one set of requirements,

  69. 3:07

    technical constraints, design had a

  70. 3:09

    vision for the future, a new rebranding,

  71. 3:11

    whatever. So, this has existed, you

  72. 3:14

    know, dare I say, for decades.

  73. 3:16

    Um, then along comes AI

  74. 3:21

    and LLM and prompting ourself into a

  75. 3:24

    fully running application. In a sense,

  76. 3:28

    now we have one intelligence that

  77. 3:30

    understands design intent and the same

  78. 3:33

    intel in intelligence can write code. So

  79. 3:37

    I thought to myself, oh my god, I think

  80. 3:39

    we might be able to close this loop. At

  81. 3:42

    the speed of inference, we could close

  82. 3:43

    this loop. And so I was curious. Um, I'm

  83. 3:48

    curious by nature. So I went all in.

  84. 3:52

    That's my GitHub before vibe coding

  85. 3:55

    happened on the left on on my left on

  86. 3:58

    your whatever. Um then after so I think

  87. 4:03

    everybody probably gets a sense of what

  88. 4:05

    my life was like from April 2025. And if

  89. 4:08

    you want to scroll till today it's it's

  90. 4:11

    even more so. Um, I got this email from

  91. 4:14

    cursor one day that said I was in the

  92. 4:16

    top 0.1%

  93. 4:18

    of usage of cursor

  94. 4:21

    and I thought to myself, I need to spend

  95. 4:23

    more time outside.

  96. 4:28

    Then there was a bill. Um,

  97. 4:31

    but at the time it was the $20 deal and

  98. 4:33

    I kind of, you know, monitored, but

  99. 4:35

    every now and again I'd pay for a little

  100. 4:37

    bit more, get another hit. Um,

  101. 4:41

    and this was my life vibe coding from

  102. 4:44

    that point in April

  103. 4:46

    until today. Um, I'm trying to figure

  104. 4:50

    out can I go from design to code? Can I

  105. 4:52

    go from code to design? Can I build a

  106. 4:54

    tool to go from design to code and code

  107. 4:56

    to design a full round trip without any

  108. 5:00

    loss of fidelity? That pixel perfect

  109. 5:02

    dream that we have. Um, I remember

  110. 5:06

    vividly uh one day I was, you know, just

  111. 5:10

    hammering away at the keyboard, just

  112. 5:12

    vibing my way. I was really feeling the

  113. 5:14

    vibe. And, uh, this wall of text was

  114. 5:18

    coming by and I was completely ignoring

  115. 5:19

    it and code was being written, just

  116. 5:22

    watching that come by. And I remember

  117. 5:25

    seeing a statement that was an inner

  118. 5:27

    HTML statement.

  119. 5:29

    And I remember from way back when that

  120. 5:33

    inter HTML was a security vulnerability

  121. 5:35

    that people can actually inject into in

  122. 5:37

    HTML and I stopped it. I said, "Wait a

  123. 5:40

    minute, wait a minute." to my LM, "Wait

  124. 5:42

    a minute, what did you just do?" And it

  125. 5:45

    explained to me what it did and it was

  126. 5:46

    very proud of itself. And and I said,

  127. 5:49

    "Revert that. Do this instead." Blah

  128. 5:50

    blah. And I got into this mode of like,

  129. 5:53

    "Oh, maybe I need to steer this thing a

  130. 5:55

    little bit better. Maybe I can't just go

  131. 5:56

    blindly in. Maybe I need to look at the

  132. 5:58

    code now.

  133. 6:00

    And I've looked at a lot of code in my

  134. 6:01

    life. So I went ahead and went in and

  135. 6:03

    looked at the code and I Whoops. I'm

  136. 6:07

    sorry. I clicked too ahead and I found I

  137. 6:10

    found issues. And so I went a little bit

  138. 6:12

    deeper

  139. 6:14

    when the industry started to tell me

  140. 6:17

    that they had solved the round trip

  141. 6:20

    that you could go a true roundtrip

  142. 6:23

    workflow. You could roundtrip between

  143. 6:25

    code and canvas. I think folks in the

  144. 6:27

    room might remember back in February,

  145. 6:29

    no slam on anthropic or Figma, there was

  146. 6:33

    this demo that showed going from cloud

  147. 6:36

    code into Figma. And it was magic. It

  148. 6:39

    was incredible. I couldn't believe you

  149. 6:40

    could build a Figma artboard from a

  150. 6:43

    prompt in Cloud Code. And then I had to

  151. 6:46

    go deeper and I had to look deeper in

  152. 6:47

    the same way that I looked at vibe

  153. 6:49

    coding. Like, is this real? Is the hype

  154. 6:50

    real? So I went deeper and then more

  155. 6:53

    announcements were made all the way up

  156. 6:55

    until last week when Figma config

  157. 6:57

    announced that code is now material.

  158. 7:00

    Does that mean there is no even handoff

  159. 7:03

    that exists anymore? Um so I'm

  160. 7:06

    monitoring trying to keep up. Things are

  161. 7:08

    happening at warp speed.

  162. 7:11

    But they said the roundtrip was solved

  163. 7:13

    and I started messing around and

  164. 7:16

    realized it wasn't. And so I want to

  165. 7:18

    share with all of you

  166. 7:21

    a harness that I built. Whoops. Oh, wait

  167. 7:24

    a minute. Local host, where are you?

  168. 7:27

    Local host,

  169. 7:29

    come back to me, local host. Okay.

  170. 7:33

    I don't know what I don't know what just

  171. 7:34

    happened there. And now I'm afraid to

  172. 7:36

    restart this. Um, okay. I think we're I

  173. 7:38

    think we're okay. Um, I created this

  174. 7:40

    harness. And what this harness is is on.

  175. 7:44

    I'm going to say left. I hope everybody

  176. 7:46

    is that your left. It is your left.

  177. 7:48

    Okay, good. [laughter]

  178. 7:50

    On your left is code that was generated

  179. 7:52

    by AI. This is this is all real what

  180. 7:54

    you're seeing here. Generated by AI and

  181. 7:58

    on your right is a design. Be it a

  182. 8:02

    canvas that that I created in Figma, be

  183. 8:04

    it something I created in Sketch. It's

  184. 8:06

    not really relevant what the sources are

  185. 8:09

    here, but the reality is I'm trying to

  186. 8:11

    illustrate a round trip. And so a round

  187. 8:14

    trip you know starts with code or starts

  188. 8:16

    with design and it has a prompt

  189. 8:18

    associated with it. So some some LLM I

  190. 8:22

    call off and I say in this instance I

  191. 8:24

    want to take this form and I want to

  192. 8:26

    build a design system from it. So there

  193. 8:27

    there are tools that do this that can

  194. 8:29

    extract code and build design systems

  195. 8:31

    from graphical canvases. And so I can do

  196. 8:35

    that. And it updated the code and

  197. 8:38

    created some styles. And it also

  198. 8:40

    actually created um a design system that

  199. 8:43

    works in runtime here. So this is like a

  200. 8:45

    a real app that got built that is also

  201. 8:48

    living in Figma. So there's a link up

  202. 8:50

    here. I won't go there, but trust me, so

  203. 8:53

    we can say stable. If I click that link,

  204. 8:55

    it would go to Figma and show me the

  205. 8:56

    full-blown design system that was built.

  206. 8:58

    And a design system for those that don't

  207. 9:00

    know is composed of components and

  208. 9:03

    tokens and variables and styles that all

  209. 9:07

    are used as a basis for building

  210. 9:09

    software from. So code and design

  211. 9:11

    together, you know, really work well

  212. 9:13

    when there's a design system and there's

  213. 9:15

    a code base that understands it. Now

  214. 9:18

    move back and forth. You throw something

  215. 9:20

    over here and you say, "Okay, I want to

  216. 9:21

    build an orange button." And I've added

  217. 9:24

    a company field and an orange button.

  218. 9:26

    The code is updated. The design is

  219. 9:27

    updated. This is awesome. Could I go

  220. 9:30

    back? Maybe. Um, but I have a button up

  221. 9:33

    here called show drift.

  222. 9:35

    So, show drift is rewaver AI working

  223. 9:39

    right now. And this is real rewaver code

  224. 9:42

    for the first time introduced to the

  225. 9:44

    public ever. And if I click show drift,

  226. 9:48

    I'll see a list of issues that got

  227. 9:49

    generated from both the code and the

  228. 9:52

    design at the same time. There are

  229. 9:55

    across several different dimensions that

  230. 9:57

    you can see here. Design quality, code

  231. 9:59

    quality, performance, design tokens,

  232. 10:02

    etc. One of the ones of note that I find

  233. 10:05

    really important from my perspective is

  234. 10:07

    at Microsoft I worked on accessibility

  235. 10:11

    and I learned a lot about what it means

  236. 10:12

    to build an accessible software system.

  237. 10:15

    And I I want to be honest with all of

  238. 10:17

    you. I was very frustrated when I first

  239. 10:18

    saw LMS come out and they generated code

  240. 10:20

    that was inaccessible period out of the

  241. 10:22

    box. I thought what models weren't

  242. 10:25

    trained on accessibility.

  243. 10:27

    Um, and I was reminded 20 years ago when

  244. 10:31

    you know engineers needed to be trained

  245. 10:32

    on accessibility. So here we are again

  246. 10:34

    now training LLMs instead of engineers

  247. 10:37

    on accessibility.

  248. 10:39

    So found issues. Um, here's an issue

  249. 10:42

    where

  250. 10:44

    has no Arya live region. So it won't be

  251. 10:47

    announced by screen reader. A blind user

  252. 10:49

    using this won't get an announcement

  253. 10:50

    about this element. So Rewaver found

  254. 10:53

    that and Rewaver says it can fix it and

  255. 10:57

    Rewaver fixed it. Now the red went away,

  256. 10:58

    but there's also a blue issue here as

  257. 11:00

    well. Um so Rewaver stacks up issues and

  258. 11:04

    you know basically scans scans the code

  259. 11:06

    and scans the design and produces u

  260. 11:10

    guard rails to a sense but also a way to

  261. 11:12

    fix the code and make it better.

  262. 11:16

    So I did that across multiple dimensions

  263. 11:18

    um you know with the intention of seeing

  264. 11:21

    if anybody had solved the drown the the

  265. 11:23

    roundtrip problem

  266. 11:25

    and it didn't go well. Uh I never got

  267. 11:29

    really the full round trip. So I really

  268. 11:31

    tried hopefully this slide tells you I

  269. 11:33

    tried five different tool setups trying

  270. 11:36

    to do code design code roundtrip both

  271. 11:39

    directions birectional

  272. 11:41

    lots of lossy issues uh you know

  273. 11:45

    bindings were lost um design change

  274. 11:48

    survived but code didn't

  275. 11:50

    I'm not going to say we're not going to

  276. 11:52

    get there um but even if we do get there

  277. 11:55

    and we're able to do this I wonder if

  278. 11:58

    we'll get fully there And maybe we need

  279. 12:01

    tools like Reweaver. I shouldn't say

  280. 12:03

    maybe, we do need tools like Reweaver to

  281. 12:06

    help us understand the drift.

  282. 12:10

    So that whole experience for me really

  283. 12:12

    highlighted something from my past. Um I

  284. 12:15

    had I had built a lot of software

  285. 12:16

    development tools, designed and built

  286. 12:18

    software development tools and developer

  287. 12:21

    tools in their nature are deterministic.

  288. 12:24

    You write code, you compile it, you get

  289. 12:26

    an SA a it it'll every time you run that

  290. 12:29

    code, you'll get the same result. When

  291. 12:31

    you put AI in the middle of that or in

  292. 12:33

    the front of that or the end of that,

  293. 12:35

    you're not going to necessarily get the

  294. 12:37

    same outcomes. Now, there are tools that

  295. 12:40

    will help you understand, rewaver being

  296. 12:41

    one of them, that there's a mismatch.

  297. 12:43

    There's drift there and we need to be

  298. 12:46

    aware of drift. Drift lurks in the dark.

  299. 12:50

    You need to look at the code. You need

  300. 12:51

    to find the drift. You need to fix the

  301. 12:52

    drift. And you do that with

  302. 12:54

    deterministic guardrails around the AI.

  303. 12:57

    The AI is still there. So I ran another

  304. 13:00

    experiment, 12 iterations on a codebase

  305. 13:03

    with complex enough UI to it. And I did

  306. 13:06

    one where it was just pure AIE, just LLM

  307. 13:09

    all the way. And it degraded a little.

  308. 13:11

    It degraded a little bit, but it started

  309. 13:14

    at 30% quality, 30% fidelity, 30%, you

  310. 13:18

    know, true pixel perfection.

  311. 13:20

    And then I put it on top of

  312. 13:22

    deterministic guardrails where we found

  313. 13:24

    the issues, we fixed the issues. You

  314. 13:27

    can't get to a hundred because that 10%

  315. 13:30

    is human judgment, human

  316. 13:33

    decision-making. So the human is still

  317. 13:35

    there in this equation.

  318. 13:38

    Um,

  319. 13:40

    so what is it today? Uh, today I I would

  320. 13:44

    call it we're locked into AI. And that's

  321. 13:46

    okay. We'll go there. We'll embrace

  322. 13:47

    that. But we're locked into AI for

  323. 13:50

    design to code. We're locked into AI for

  324. 13:52

    code to design, looping, chat bots, what

  325. 13:55

    we call span the chain workflows where

  326. 13:57

    you jumping across tools. And there's

  327. 13:59

    always token costs to be aware of, of

  328. 14:01

    course. So in this world, the agents are

  329. 14:04

    in control and the humans in the loop.

  330. 14:06

    I'd like to propose something else.

  331. 14:08

    Before I do, there are three blind spots

  332. 14:10

    we need to be aware of. One is the model

  333. 14:12

    itself. It's going to you can ask it

  334. 14:14

    questions. It'll give you answers, but

  335. 14:16

    it's nondeterministic. It's

  336. 14:18

    probabilistic.

  337. 14:19

    There will be drift in the moment when

  338. 14:21

    you're writing code. Drift will surface,

  339. 14:23

    but drift over time is the pain that

  340. 14:26

    you'll be experiencing for the next six

  341. 14:28

    months because drift over time is the

  342. 14:31

    new tech debt and it's going to pile

  343. 14:34

    itself

  344. 14:36

    gloriously over your codebase. Um, we

  345. 14:40

    want to do something about it. So here's

  346. 14:44

    where we think it isn't meaning what it

  347. 14:47

    could be what it should be fully

  348. 14:50

    birectional

  349. 14:51

    edit both ways lossless all surfaces

  350. 14:54

    preserved so if you go from code to

  351. 14:56

    design and design to code nothing's

  352. 14:58

    breaking weirdly for you provenence is

  353. 15:00

    carried where did this start from what

  354. 15:03

    line of code wrote this button

  355. 15:07

    I see this button in Figma I want to

  356. 15:09

    change it I need to change that code or

  357. 15:11

    Somebody needs to change that code. We

  358. 15:14

    have to control the drift. It's

  359. 15:16

    deterministic reconciliation at its

  360. 15:18

    core. So with deterministic guardrails,

  361. 15:21

    and I'm happy to talk after if folks are

  362. 15:24

    interested in what I mean by that,

  363. 15:26

    accept or refuse. So if they know

  364. 15:30

    there's a fix, they will fix it. If they

  365. 15:32

    don't know there's a fix, they will tell

  366. 15:34

    you there's an issue, but you need to

  367. 15:36

    fix it.

  368. 15:38

    And with Ruby Weaver, there's zero extra

  369. 15:40

    token costs. So, we're fully local LLM,

  370. 15:44

    but if you want to open up Claude or

  371. 15:46

    whatever and connect to us, you can. But

  372. 15:48

    at its core, and our core principle is

  373. 15:50

    the human is in control always. In

  374. 15:54

    control of cost, in control of code, in

  375. 15:56

    control of design, because that's what

  376. 15:58

    we've been doing for decades.

  377. 16:01

    We've been in control. We don't need to

  378. 16:03

    lose control. And I'm not saying loop

  379. 16:05

    isn't good, but human in control is I

  380. 16:07

    think a little more aspirational

  381. 16:10

    because at the end of the day, what you

  382. 16:12

    need is actually what you get. I call it

  383. 16:16

    winnywig. Can I use that winny wig?

  384. 16:20

    So what are we building at its core?

  385. 16:22

    What we're building are nine dimensions

  386. 16:25

    of deterministic guardrails.

  387. 16:28

    Inside of this is a lot of stuff, but

  388. 16:30

    these are our top level um software

  389. 16:33

    quality, software production readiness

  390. 16:35

    dimensions. Design consistency being

  391. 16:38

    core. Of course, when you have a design

  392. 16:40

    system and the code isn't consistent

  393. 16:41

    with it and vice versa, we need to fix

  394. 16:44

    that. So, there's a lot of design

  395. 16:45

    consistency

  396. 16:47

    um work that's going into the the

  397. 16:49

    foundation. Accessibility is its own

  398. 16:52

    dimension. um maybe selfish of me but I

  399. 16:55

    think it's core

  400. 16:57

    uh AI code generation too or AI code

  401. 17:00

    sorry governance AI code generation

  402. 17:02

    governance is another really critical

  403. 17:04

    piece because the code is just flying

  404. 17:06

    through the system and we need to govern

  405. 17:08

    that code now we're not going to change

  406. 17:10

    the code rewaver actually doesn't write

  407. 17:12

    code you write code reweaver will do

  408. 17:16

    what you want it to do so if you say

  409. 17:18

    apply the fix it'll write the code for

  410. 17:20

    you can see the code being written You

  411. 17:22

    can say never mind undo. You can ignore

  412. 17:25

    it. So at the end of the day, catch what

  413. 17:27

    drifts in a closed loop before anything

  414. 17:30

    merges. That's the goal.

  415. 17:33

    You can try it out with your own code

  416. 17:34

    today. Right now, you can go to reweaver

  417. 17:37

    AIPplayground

  418. 17:38

    and we built kind of a similar harness

  419. 17:40

    to what I built there where you can put

  420. 17:42

    your AI generated code on the left on

  421. 17:45

    the left. You can scan it and get your

  422. 17:48

    results for that code. There's also a

  423. 17:51

    fun little challenge on that page. If

  424. 17:53

    you can get AI to generate code that

  425. 17:56

    gives you a score lower than30

  426. 17:59

    PDR,

  427. 18:01

    which is production drift ratio, will

  428. 18:03

    get you a frontline seat on the beta,

  429. 18:06

    but you'll also get yourself showcased

  430. 18:08

    at the bottom on the crawl. So, give it

  431. 18:10

    a shot. Take a look. Um, meanwhile, I'm

  432. 18:14

    looking for people to join our beta.

  433. 18:15

    We're going to basically blast out mid

  434. 18:18

    July hopefully.

  435. 18:20

    Um so would love for you to join if

  436. 18:22

    you're interested um to make the product

  437. 18:24

    better to sanity check us. Um basically

  438. 18:28

    that's it and you can also reach me

  439. 18:31

    online or outside happy to talk more.

  440. 18:34

    Thank you.