- Teildra's exploration of AI agents on its canvas evolved from simple sketch-to-code generation to complex, collaborative multi-agent systems. The goal is to enhance user agency by letting AI interact directly with the canvas and even the desktop.
- Early AI integrations focused on generating interactive prototypes from drawings, addressing the challenge of enabling non-technical users to create technical artifacts.
- The latest advancements involve AI agents operating within a local desktop environment, capable of executing arbitrary JavaScript to manipulate applications directly, pushing the boundaries of automation and user control with inherent safety considerations.
Agents on the Canvas in tldraw — Steve Ruiz, tldraw
- The Teildra SDK enables building canvas-based products and serves as a platform for experimenting with advanced AI integrations.
- Initial AI applications, like "Make Real," demonstrated generating working HTML prototypes from hand-drawn sketches, democratizing technical creation for non-coders.
- Unlike image generation, Teildra's AI uses text-structured outputs to create native canvas components, making the generated content editable and interactive.
- Training AI models for structured visual data is challenging due to limited and conflicting datasets (e.g., differing y-axis conventions in web vs. Cartesian graphs), making prompt engineering crucial.
- AI agents evolved from single-shot prompts to iterative "agent loops" (similar to those in coding agents) that review and refine outputs, making the process transparent.
- "Fairies" introduce on-canvas agents, allowing users to visualize and interact with multiple AI processes, observing their state, actions, and relative contributions.
- Multi-agent orchestration enables collaborative work, where a "leader" agent delegates tasks and manages shared state among other agents to complete complex projects like wireframing.
- The most advanced stage utilizes an Electron-wrapped desktop app, exposing an HTTP endpoint for AI to execute JavaScript directly, allowing deep manipulation of the local file system and other applications.
- This desktop automation approach highlights the tension between maximizing AI agency and user safety, positioning the tool as powerful but requiring careful handling, especially for local-first applications.
Teildra SDK — A software development kit provided by Teildra that allows developers to build custom canvas-based applications.
Vision models — Artificial intelligence models designed to process, analyze, and understand visual data, such as images or drawings.
Structured outputs — AI-generated data that conforms to a predefined format, like JSON or a specific set of canvas primitives, rather than free-form text or raw images.
Prompt engineering — The practice of carefully crafting input prompts for AI models to achieve desired and predictable outputs.
Agent loop — An iterative process where an AI agent repeatedly performs a task, reviews its output, and refines its actions until a goal is met.
Agent orchestration — The coordinated management of multiple AI agents working together, often with defined roles like leader and follower, to achieve a shared objective.
Shared state — Data or information that is accessible and potentially modifiable by multiple independent AI agents or components within a system.
Local-first apps — Applications designed to prioritize local data storage and offline functionality, providing immediate responsiveness and syncing with cloud services asynchronously.
Script injection — The act of inserting and executing arbitrary code (scripts) into an application's runtime environment, here leveraged deliberately by AI for automation.
Electron wrapper — A desktop application built using the Electron framework, which packages web technologies (HTML, CSS, JavaScript) into a standalone native application.
Hey, I'm going to kick off. Sorry, we're starting a little bit late here. I am Steve Ruiz from Teildra. Does anyone know Teildra? Yes. Alright, fans in the room. If you don't know Teildra, Teildra is kind of a couple of things. Teildra is an online whiteboard. You can go to it. It's really nice. I'm going to be using it for my slides. Teildra is also a startup. We're based here in London. And Teildra is also an SDK. Something that you can use to build other products. So, if you've used Replits, New, Agent Canvas, then that's built with our Canvas. If you've used Luba AI's new Canvas, that's built with our Canvas. If you've used Stitches, New Canvas, that's not built with our Canvas. But if you go into this like kind of annotate mode, this actually is our Canvas. We're in there somewhere. It's an Angular app. So anyway, Teildra is, again, a company makes a whiteboard, makes a whiteboard SDK. Part of the idea with the SDK is that you can build cool things with the SDK, which means it's part of my job to build cool things with the SDK to improve it. And a lot of those things recently have involved AI, right? Hackable Canvas runtime, built with React. In fact, the Canvas is also just React components, so component component component component, which means you can do some pretty cool stuff. First one, I'm going to be at the mercy of the demo gods here in the internet and other things. So bear with me here. Does anyone remember this app make real? Maybe this tweet about make real? Did anyone remember seeing this tweet back in 2023 when the vision models came out? All right, cool. This was one of the first projects to kind of break containment in AI. We're going to go to my phone. Which may itself be a disaster. So the basic idea with make real was that you could use the Canvas, draw this, then send that to a model and have it make it into a working prototype, which sounds very, very quaint in 2026. But in 2023, it was all the rage, because there was no levelable, there was no kind of vibe coding hadn't been termed or coined as a term. And so this was one of the first projects where non-technical people could make technical stuff without having to code or to look at code. And so again, we are at the mercy of the several various internet gods. So we'll see. I'm going to let this cook for a minute. But at the risk of leaking my API keys, I will try and switch to a faster model. Oh no, it's coming. All right. So it's something hard to work on. We'll see. I'm saying it. Basic idea. Something like that. Yeah, there's my API keys. I always got to rotate them. Every time I do this demo, sadly. We'll see how much good spends before I get done with the talk. But it's a very simple problem. It's just like, go make this interactive. This is not what I asked for, but we'll see. Good job. Cool. And this is a working thing, which is great. It's like a real little bit of HTML. But you could also annotate on top of it. You could say, hey, actually, make this green. And why don't we use these colors? I'm going to make this red and black. Use these colors. So you're kind of constructing a prompt here. Even the prompt that includes the old website. And there's not many apps that have actually kind of used this. Only now, only like the Google stitch that I mentioned before. This idea of, well, it didn't do anything that I asked for. Terrible demo. We're going to move on. Things have changed in the last couple of years. Anyway, there was another one in TeelDraw computer, which I'm actually not going to go into, but this was a couple of chains and prompts. But eventually, we were like, hey, AI on the canvas section might be pretty cool. Maybe we should have the AI kind of work as a collaborator, like work with you on the canvas. So the first, one of those was pretty straight forward idea, where you could say, like, draw a cat. You could do anything. You could say, draw me a diagram. Finish my slides, complete this graph that I'm working on, things like that. And unlike maybe image models, like diffusion models, and things like that, it's not building an image. It is using text structured outputs to make the same things that I could make, right? So I have tools. I have circles and shapes and like this. And it's funny to see how these things have changed over to, oh, it's sad. But the fun of this is, as a way of exploring the model, and what the model knows and how it can comport all that stuff, make the cat blow out the candle. It's pretty cool. You could also do something like a draw my house, so multiple prompts at the same time on different parts. And so even though I didn't tell it what a candle was, and I certainly, like, the application doesn't know what a candle is, and I'm not even sure that cats can blow. But it's correctly interpreted that and kind of incorporated into the design. So with incredible detail as well, still said. So this was really fun because this was like solving a lot of problems that might not be obvious. Like vision models, when it comes to structured data, number one, there's much less vision training data than there is for text. And number two, a lot of that training data conflicts in ways that text does not. And other types of things don't. So for example, the y-axis on a Cartesian graph, as you go up, that number goes up, right? So 0, 1, 2, 3, 4, 5. On the web, the y-axis goes up in this direction, right? The top left corner is 0. Your top left corner here. But as you go down, the y goes up. There's left, right? Like there's your left. There's stage left. There's all sorts of things that conflict within language and with images. So training the model to kind of behave predictably and produce things like this is really, well, I used training, prompt engineering the model to do it. It was really tricky. But this was fun. But we felt like it didn't go really far enough because it was just one shoting, right? I wanted to do an agent. So this is what cursor looked like back in 2025 or something like that when I did this. Draw a diagram of the life cycle of a butterfly. So this put it into a kind of like agent loop. I'm sure you interact with dozens of times a day by now for this crowd. Where you have it produce an output and then review the output and iterate until it thinks it's done. And we really tried to hude the conventions at the time of coding agents that were where these agents, the agent loop was seen most often. Where there's kind of like a lot of sub features like rejection, you know, seeing it's thinking, seeing how it works. Great. And now we have the butterfly life cycle on the canvas. Pretty cool. However, this was still not really enough because as cool as this was, it still felt like, I don't know, it felt like I was handing my keyboard to some other AI rather than someone collaborating with me. Although this model has been used really well in a lot of design apps that use Teal Draw, things like Love Art or Magic Path and in education, especially where you have this kind of tutor of like, help me with my homework and help me fill out my, you know, oh gosh, let's see if I can do this on the fly. Steve Ruiz, class, you know, age, whatever. And you can kind of ask it to like complete my D&D character sheet. Alright? And it'll kind of pick up what you're doing and fill out forms and do fun stuff like this. Maybe I'll come back to that as it kind of touches along. But what I really wanted is like to bring the agent out of the sidebar and into the canvas itself. Oh, I'm a fighter. Nice. Nice. Alright, I'll take that. And so we did. And we did it with fairies, which maybe you saw, maybe not. These are like little guys on the canvas. You can kind of throw them around. They don't like to be held for very long. They'll start freaking out. Yeah, okay. So. But you can do the same thing like draw a draw cat or something like that. Now, putting the agents on the canvas have a whole bunch of interesting things. You can see the state of the agent, right? These are multiple agents that I'm kind of running in coding terms. These would be multiple terminal windows or something like that. Or this would be in composer composer. But you can kind of see what they're doing in a way that a, and zoomed away out. I did all the sprites myself. And you know, not only can you kind of see it's thinking, but you can see it's action. You can see where in the project is sort of like acting relative to the other agents. So. And you know, these other agents can see each other what they're doing. So if I asked this one to draw a hat on the cat. And I draw this one, draw the cat's neck. We missed the neck. They'll get to work, right? And they're able to kind of work with each other's stuff at the same time. But we could also ask them to work together. So if I grab all three of these, these fairies, fairies Helen and Joan draw some more animals. One of them will be elected leader. So this one is the leader. And it's going to go scout kind of what's going on on the canvas. And then it's going to create a to-do list. And then we're going to delegate that to do list to the other agents, right? This is all like we were doing this in like December, October of last year. And we're figuring this stuff out at the same time that a lot of people were figuring out agent orchestration. So I do have like, okay, how do we give them shared state? How do we have a leader follower? Like, how do we manage the fact that these things are essentially blind while they're working? And prevent them from kind of overlapping in terms of like what they're doing? And so you can kind of see the leader here isn't doing any of the work. But it is going to kind of like observe, oh no, that's the leader. That's the leader. It's observing. And judging and establishing whether this is like done or not, and whether it's done correctly. Still not enough, right? Fairies are fun. If you want to play with this by the way, this is at fairies.tieldraw.com. In the same way that make real was a really good introduction to, to just AI at all, right? Let's draw something click a button. Fairies is a great way to talk about like multiple agents kind of working together. And they can do real work. Let me try and grab a, like this is a big description of like an ebook or something like that. And if I summon my fairies, make this, make the, make the wireframes for this. Cool. And I'll just kind of let them, let them get to work. But we keep talking. The, I started 10 minutes later, I'm going to, I'm going to take another five minutes before I jump. The next step for this one is to kind of give more access to the canvas to the agents. And there's really, we started to kind of run into the barriers of safety. Like what is actually safe to, to do with our hackable thing for, for users. Because we have a runtime API, you can just code against it, right? And AI is a really good at coding. So maybe we could do some sandbox stuff. But no, because we need the DOM, we need the kind of the browser as a way to see what's going on. We need to be able to generate screenshots all this stuff. So we decided to use our desktop app instead. So over the holidays, I threw together a, an app that's an electron wrapper that wrapped teal draw. And I opened a port essentially. I said, you know, okay, clogged like make a little HTTP server. And, and open a, put up an endpoint. And anything that gets posted to that endpoint, treat it as JavaScript and run it. Which is a terrible idea. Not a good, like don't, don't, don't do that on, on your app. However, for an offline desktop app that is file based, like what's the worst that could happen. You could hurt yourself, I guess, but you're not going to hurt the rest of me. And look at them, look at them going. It's a building my little ebook reader. That's fantastic. Thank you, fairies. So, what is that, what does that give us though? I'm going to skip the demo where, as you can imagine, I could, I could say, hey, visualize this code. Make a diagram, cool. All right, I'm going to change the diagram, update the code to match the diagram. Easy, right? You can have these kind of, like, let's pull up the level of abstraction that we want. So, the surprising stuff was actually where I was like, you know, okay, like, check this out. I'm going to draw a little user interface or whatever, right? And I want this to be a leg length. And I want this to be a t-shirt color. And even though TLDRAW doesn't really have the ability to, we don't have like primitives for on hover or on click, or it's not like, it's not a fully thing. I think can write code against the editor. So, like, make it interactive. And we'll see where it gets to. So far, the results on this have been like really, really cool. In ways that are super strange and disturbing. Because, like, asking, like, the AIs are like, sure, let's do some script injection, right? Like, that's the way that it documents itself is, like, this is how you should do this. It has no qualms at all, by the way, changing stuff that's on your desktop, on your computer. If you've ever wanted to, like, for example, like, we, one of our team, Max, was like, you know what? I don't like podcasts in my Spotify. I want to get rid of podcasts in my Spotify app. Clock, can you just do that? And it's like, sure. Let me go through the minified code or the bundle of the thing. Let me just rip and tear. And it's happy to do it. It makes them happy. They like it. Oh, what the fuck? I don't even know what you did. You've made an HTML? What the? What, like, it created a new HTML site out of this. And this is the pointer? It's not even a slider. No, I wanted it in the teal drawer. All right. Yeah, we love it. It's blinking as well. I don't know if you caught that. Come on, do it. Yeah, there we go. Let's see if it can come on. Let's go. So yeah, like, there's really like no limit to what it can do with a desktop app. And I'm happy to do it in a way that I can almost tell that it would love to do this to websites. Like, it would like, let me just get my, get my claws in there. All right. Come on. Still in that work. And we're going to, we're going to, we're going to go. Set up the interactivity. Come on. This is going to be really fun. I think we're going to just release this. We're, I mean, it is released, but the, the notion that you can take. Like, I love local first apps. I love file over app. I love, there's all these ideas that up to now have kind of been curiosities and. Almost like hang on. Oh, come on. Oh, that's such a, such a disappointment. We're going to have to catch me later. I'll make it work. But now actually the, like, the idea of a local file based thing that is, is able to expose itself to, to, to, to Claude an agent's like locally in order to essentially script inject. Kind of motivates a lot of that, that stuff, which previously was idealistic into like, well, that's the only way that you could do this. If you really want to maximize the agency in order to maximize what it can do and take the risk, and take on that risk, then you kind of just need to hand that to the user and say, good luck. I think OpenClaw does this pretty well. Like, these are sharp tools. You have fun. You know? Anyway, that is my agents on the canvas talk. Work continues. So if you want to play with the fairies, I highly recommend it because it's super fun and you will find things that surprise you, that have surprised me. They have IRC as well. Let me see. Yeah, anyway. And if you want to follow along with TealDraw, we are on Twitter next at TealDraw, and then I'm at Steve Ruiz, OK, and post a lot about this stuff. So thank you for going. Cheers. Thank you.
TL;DR
- Teildra's exploration of AI agents on its canvas evolved from simple sketch-to-code generation to complex, collaborative multi-agent systems. The goal is to enhance user agency by letting AI interact directly with the canvas and even the desktop.
- Early AI integrations focused on generating interactive prototypes from drawings, addressing the challenge of enabling non-technical users to create technical artifacts.
- The latest advancements involve AI agents operating within a local desktop environment, capable of executing arbitrary JavaScript to manipulate applications directly, pushing the boundaries of automation and user control with inherent safety considerations.
Takeaways
- The Teildra SDK enables building canvas-based products and serves as a platform for experimenting with advanced AI integrations.
- Initial AI applications, like "Make Real," demonstrated generating working HTML prototypes from hand-drawn sketches, democratizing technical creation for non-coders.
- Unlike image generation, Teildra's AI uses text-structured outputs to create native canvas components, making the generated content editable and interactive.
- Training AI models for structured visual data is challenging due to limited and conflicting datasets (e.g., differing y-axis conventions in web vs. Cartesian graphs), making prompt engineering crucial.
- AI agents evolved from single-shot prompts to iterative "agent loops" (similar to those in coding agents) that review and refine outputs, making the process transparent.
- "Fairies" introduce on-canvas agents, allowing users to visualize and interact with multiple AI processes, observing their state, actions, and relative contributions.
- Multi-agent orchestration enables collaborative work, where a "leader" agent delegates tasks and manages shared state among other agents to complete complex projects like wireframing.
- The most advanced stage utilizes an Electron-wrapped desktop app, exposing an HTTP endpoint for AI to execute JavaScript directly, allowing deep manipulation of the local file system and other applications.
- This desktop automation approach highlights the tension between maximizing AI agency and user safety, positioning the tool as powerful but requiring careful handling, especially for local-first applications.
Vocabulary
Teildra SDK — A software development kit provided by Teildra that allows developers to build custom canvas-based applications.
Vision models — Artificial intelligence models designed to process, analyze, and understand visual data, such as images or drawings.
Structured outputs — AI-generated data that conforms to a predefined format, like JSON or a specific set of canvas primitives, rather than free-form text or raw images.
Prompt engineering — The practice of carefully crafting input prompts for AI models to achieve desired and predictable outputs.
Agent loop — An iterative process where an AI agent repeatedly performs a task, reviews its output, and refines its actions until a goal is met.
Agent orchestration — The coordinated management of multiple AI agents working together, often with defined roles like leader and follower, to achieve a shared objective.
Shared state — Data or information that is accessible and potentially modifiable by multiple independent AI agents or components within a system.
Local-first apps — Applications designed to prioritize local data storage and offline functionality, providing immediate responsiveness and syncing with cloud services asynchronously.
Script injection — The act of inserting and executing arbitrary code (scripts) into an application's runtime environment, here leveraged deliberately by AI for automation.
Electron wrapper — A desktop application built using the Electron framework, which packages web technologies (HTML, CSS, JavaScript) into a standalone native application.
Transcript
Hey, I'm going to kick off. Sorry, we're starting a little bit late here. I am Steve Ruiz from Teildra. Does anyone know Teildra? Yes. Alright, fans in the room. If you don't know Teildra, Teildra is kind of a couple of things. Teildra is an online whiteboard. You can go to it. It's really nice. I'm going to be using it for my slides. Teildra is also a startup. We're based here in London. And Teildra is also an SDK. Something that you can use to build other products. So, if you've used Replits, New, Agent Canvas, then that's built with our Canvas. If you've used Luba AI's new Canvas, that's built with our Canvas. If you've used Stitches, New Canvas, that's not built with our Canvas. But if you go into this like kind of annotate mode, this actually is our Canvas. We're in there somewhere. It's an Angular app. So anyway, Teildra is, again, a company makes a whiteboard, makes a whiteboard SDK. Part of the idea with the SDK is that you can build cool things with the SDK, which means it's part of my job to build cool things with the SDK to improve it. And a lot of those things recently have involved AI, right? Hackable Canvas runtime, built with React. In fact, the Canvas is also just React components, so component component component component, which means you can do some pretty cool stuff. First one, I'm going to be at the mercy of the demo gods here in the internet and other things. So bear with me here. Does anyone remember this app make real? Maybe this tweet about make real? Did anyone remember seeing this tweet back in 2023 when the vision models came out? All right, cool. This was one of the first projects to kind of break containment in AI. We're going to go to my phone. Which may itself be a disaster. So the basic idea with make real was that you could use the Canvas, draw this, then send that to a model and have it make it into a working prototype, which sounds very, very quaint in 2026. But in 2023, it was all the rage, because there was no levelable, there was no kind of vibe coding hadn't been termed or coined as a term. And so this was one of the first projects where non-technical people could make technical stuff without having to code or to look at code. And so again, we are at the mercy of the several various internet gods. So we'll see. I'm going to let this cook for a minute. But at the risk of leaking my API keys, I will try and switch to a faster model. Oh no, it's coming. All right. So it's something hard to work on. We'll see. I'm saying it. Basic idea. Something like that. Yeah, there's my API keys. I always got to rotate them. Every time I do this demo, sadly. We'll see how much good spends before I get done with the talk. But it's a very simple problem. It's just like, go make this interactive. This is not what I asked for, but we'll see. Good job. Cool. And this is a working thing, which is great. It's like a real little bit of HTML. But you could also annotate on top of it. You could say, hey, actually, make this green. And why don't we use these colors? I'm going to make this red and black. Use these colors. So you're kind of constructing a prompt here. Even the prompt that includes the old website. And there's not many apps that have actually kind of used this. Only now, only like the Google stitch that I mentioned before. This idea of, well, it didn't do anything that I asked for. Terrible demo. We're going to move on. Things have changed in the last couple of years. Anyway, there was another one in TeelDraw computer, which I'm actually not going to go into, but this was a couple of chains and prompts. But eventually, we were like, hey, AI on the canvas section might be pretty cool. Maybe we should have the AI kind of work as a collaborator, like work with you on the canvas. So the first, one of those was pretty straight forward idea, where you could say, like, draw a cat. You could do anything. You could say, draw me a diagram. Finish my slides, complete this graph that I'm working on, things like that. And unlike maybe image models, like diffusion models, and things like that, it's not building an image. It is using text structured outputs to make the same things that I could make, right? So I have tools. I have circles and shapes and like this. And it's funny to see how these things have changed over to, oh, it's sad. But the fun of this is, as a way of exploring the model, and what the model knows and how it can comport all that stuff, make the cat blow out the candle. It's pretty cool. You could also do something like a draw my house, so multiple prompts at the same time on different parts. And so even though I didn't tell it what a candle was, and I certainly, like, the application doesn't know what a candle is, and I'm not even sure that cats can blow. But it's correctly interpreted that and kind of incorporated into the design. So with incredible detail as well, still said. So this was really fun because this was like solving a lot of problems that might not be obvious. Like vision models, when it comes to structured data, number one, there's much less vision training data than there is for text. And number two, a lot of that training data conflicts in ways that text does not. And other types of things don't. So for example, the y-axis on a Cartesian graph, as you go up, that number goes up, right? So 0, 1, 2, 3, 4, 5. On the web, the y-axis goes up in this direction, right? The top left corner is 0. Your top left corner here. But as you go down, the y goes up. There's left, right? Like there's your left. There's stage left. There's all sorts of things that conflict within language and with images. So training the model to kind of behave predictably and produce things like this is really, well, I used training, prompt engineering the model to do it. It was really tricky. But this was fun. But we felt like it didn't go really far enough because it was just one shoting, right? I wanted to do an agent. So this is what cursor looked like back in 2025 or something like that when I did this. Draw a diagram of the life cycle of a butterfly. So this put it into a kind of like agent loop. I'm sure you interact with dozens of times a day by now for this crowd. Where you have it produce an output and then review the output and iterate until it thinks it's done. And we really tried to hude the conventions at the time of coding agents that were where these agents, the agent loop was seen most often. Where there's kind of like a lot of sub features like rejection, you know, seeing it's thinking, seeing how it works. Great. And now we have the butterfly life cycle on the canvas. Pretty cool. However, this was still not really enough because as cool as this was, it still felt like, I don't know, it felt like I was handing my keyboard to some other AI rather than someone collaborating with me. Although this model has been used really well in a lot of design apps that use Teal Draw, things like Love Art or Magic Path and in education, especially where you have this kind of tutor of like, help me with my homework and help me fill out my, you know, oh gosh, let's see if I can do this on the fly. Steve Ruiz, class, you know, age, whatever. And you can kind of ask it to like complete my D&D character sheet. Alright? And it'll kind of pick up what you're doing and fill out forms and do fun stuff like this. Maybe I'll come back to that as it kind of touches along. But what I really wanted is like to bring the agent out of the sidebar and into the canvas itself. Oh, I'm a fighter. Nice. Nice. Alright, I'll take that. And so we did. And we did it with fairies, which maybe you saw, maybe not. These are like little guys on the canvas. You can kind of throw them around. They don't like to be held for very long. They'll start freaking out. Yeah, okay. So. But you can do the same thing like draw a draw cat or something like that. Now, putting the agents on the canvas have a whole bunch of interesting things. You can see the state of the agent, right? These are multiple agents that I'm kind of running in coding terms. These would be multiple terminal windows or something like that. Or this would be in composer composer. But you can kind of see what they're doing in a way that a, and zoomed away out. I did all the sprites myself. And you know, not only can you kind of see it's thinking, but you can see it's action. You can see where in the project is sort of like acting relative to the other agents. So. And you know, these other agents can see each other what they're doing. So if I asked this one to draw a hat on the cat. And I draw this one, draw the cat's neck. We missed the neck. They'll get to work, right? And they're able to kind of work with each other's stuff at the same time. But we could also ask them to work together. So if I grab all three of these, these fairies, fairies Helen and Joan draw some more animals. One of them will be elected leader. So this one is the leader. And it's going to go scout kind of what's going on on the canvas. And then it's going to create a to-do list. And then we're going to delegate that to do list to the other agents, right? This is all like we were doing this in like December, October of last year. And we're figuring this stuff out at the same time that a lot of people were figuring out agent orchestration. So I do have like, okay, how do we give them shared state? How do we have a leader follower? Like, how do we manage the fact that these things are essentially blind while they're working? And prevent them from kind of overlapping in terms of like what they're doing? And so you can kind of see the leader here isn't doing any of the work. But it is going to kind of like observe, oh no, that's the leader. That's the leader. It's observing. And judging and establishing whether this is like done or not, and whether it's done correctly. Still not enough, right? Fairies are fun. If you want to play with this by the way, this is at fairies.tieldraw.com. In the same way that make real was a really good introduction to, to just AI at all, right? Let's draw something click a button. Fairies is a great way to talk about like multiple agents kind of working together. And they can do real work. Let me try and grab a, like this is a big description of like an ebook or something like that. And if I summon my fairies, make this, make the, make the wireframes for this. Cool. And I'll just kind of let them, let them get to work. But we keep talking. The, I started 10 minutes later, I'm going to, I'm going to take another five minutes before I jump. The next step for this one is to kind of give more access to the canvas to the agents. And there's really, we started to kind of run into the barriers of safety. Like what is actually safe to, to do with our hackable thing for, for users. Because we have a runtime API, you can just code against it, right? And AI is a really good at coding. So maybe we could do some sandbox stuff. But no, because we need the DOM, we need the kind of the browser as a way to see what's going on. We need to be able to generate screenshots all this stuff. So we decided to use our desktop app instead. So over the holidays, I threw together a, an app that's an electron wrapper that wrapped teal draw. And I opened a port essentially. I said, you know, okay, clogged like make a little HTTP server. And, and open a, put up an endpoint. And anything that gets posted to that endpoint, treat it as JavaScript and run it. Which is a terrible idea. Not a good, like don't, don't, don't do that on, on your app. However, for an offline desktop app that is file based, like what's the worst that could happen. You could hurt yourself, I guess, but you're not going to hurt the rest of me. And look at them, look at them going. It's a building my little ebook reader. That's fantastic. Thank you, fairies. So, what is that, what does that give us though? I'm going to skip the demo where, as you can imagine, I could, I could say, hey, visualize this code. Make a diagram, cool. All right, I'm going to change the diagram, update the code to match the diagram. Easy, right? You can have these kind of, like, let's pull up the level of abstraction that we want. So, the surprising stuff was actually where I was like, you know, okay, like, check this out. I'm going to draw a little user interface or whatever, right? And I want this to be a leg length. And I want this to be a t-shirt color. And even though TLDRAW doesn't really have the ability to, we don't have like primitives for on hover or on click, or it's not like, it's not a fully thing. I think can write code against the editor. So, like, make it interactive. And we'll see where it gets to. So far, the results on this have been like really, really cool. In ways that are super strange and disturbing. Because, like, asking, like, the AIs are like, sure, let's do some script injection, right? Like, that's the way that it documents itself is, like, this is how you should do this. It has no qualms at all, by the way, changing stuff that's on your desktop, on your computer. If you've ever wanted to, like, for example, like, we, one of our team, Max, was like, you know what? I don't like podcasts in my Spotify. I want to get rid of podcasts in my Spotify app. Clock, can you just do that? And it's like, sure. Let me go through the minified code or the bundle of the thing. Let me just rip and tear. And it's happy to do it. It makes them happy. They like it. Oh, what the fuck? I don't even know what you did. You've made an HTML? What the? What, like, it created a new HTML site out of this. And this is the pointer? It's not even a slider. No, I wanted it in the teal drawer. All right. Yeah, we love it. It's blinking as well. I don't know if you caught that. Come on, do it. Yeah, there we go. Let's see if it can come on. Let's go. So yeah, like, there's really like no limit to what it can do with a desktop app. And I'm happy to do it in a way that I can almost tell that it would love to do this to websites. Like, it would like, let me just get my, get my claws in there. All right. Come on. Still in that work. And we're going to, we're going to, we're going to go. Set up the interactivity. Come on. This is going to be really fun. I think we're going to just release this. We're, I mean, it is released, but the, the notion that you can take. Like, I love local first apps. I love file over app. I love, there's all these ideas that up to now have kind of been curiosities and. Almost like hang on. Oh, come on. Oh, that's such a, such a disappointment. We're going to have to catch me later. I'll make it work. But now actually the, like, the idea of a local file based thing that is, is able to expose itself to, to, to, to Claude an agent's like locally in order to essentially script inject. Kind of motivates a lot of that, that stuff, which previously was idealistic into like, well, that's the only way that you could do this. If you really want to maximize the agency in order to maximize what it can do and take the risk, and take on that risk, then you kind of just need to hand that to the user and say, good luck. I think OpenClaw does this pretty well. Like, these are sharp tools. You have fun. You know? Anyway, that is my agents on the canvas talk. Work continues. So if you want to play with the fairies, I highly recommend it because it's super fun and you will find things that surprise you, that have surprised me. They have IRC as well. Let me see. Yeah, anyway. And if you want to follow along with TealDraw, we are on Twitter next at TealDraw, and then I'm at Steve Ruiz, OK, and post a lot about this stuff. So thank you for going. Cheers. Thank you.