Founder of tldraw Steve Ruiz on creativity, obsession and reaching developers

In this interview, TealDraw founder Steve Ruiz discusses his journey from fine‑arts studio work to building a high‑performance canvas tool. He explains how curiosity‑driven rabbit holes—first into "globs" (pressure‑sensitive variable‑width lines), then into digital ink (Perfect Freehand) and finally into a general‑purpose design tool—led to the creation of TealDraw. Ruiz details deep technical challenges such as fractional indexing, Base96 string indices, and jitter for concurrent edits, and how solving these low‑level problems yields a seamless user experience. He also shares his content strategy: posting bug‑first Twitter threads, visual debugging GIFs, and dev‑logs to attract developers, turning curiosity into product‑market fit signals (e.g., users asking to "pay you to stay unemployed"). The conversation covers TealDraw’s dual offering as an end‑user whiteboard and a React‑based SDK, the importance of design decisions (arrow labeling, elbow‑arrow pathing), and how transparent storytelling builds trust, drives deal flow, and helps hire talent. Ruiz wraps up with calls to action for users and developers to try the product and join the community.
Chapters
Yeah, by the time that I started getting more serious about TealDraw, it was because people were really asking for more. Can I pay you to stay unemployed? That type of thing.
I'm joined today by Steve Ruiz, the founder of TealDraw. We talk about taste, obsession, and how TealDraw have been able to create such an amazing whiteboard.
I rabbit hole on this like globs, like, oh, if I take two circles and connect them with two Bezier curves. So I built like an entire editor to help me understand globs. And then that editor led me to think, well, I want a design tool that works with any primitives. And that eventually became TealDraw. We talk about creative work. The fun part about art is that but it's not solving a problem. No one's asking you for this stuff. The work that they'll be doing seems like no one else could have come up with that stuff, and it seems very natural. It wasn't like a good idea, it was just the kind of the repeated iteration and just like the habitus of the artist.
And we talk about developer content. Teodraw is arguably the best out there.
The least engaging content is where we say like, look, it just works. How do you hook people? By showing the bug first.
Someone could see your path and it would— the way you have described it sometimes sounds like it's very kind of like you're just this artist doing— I've seen your stuff, it seems really good.
Thank you. Yeah, so my background is in fine arts. That's what I studied. And before I moved to the UK, and even after I moved to the UK, which was about 10 years ago, I was a studio artist, painter, drawings. I also wrote a lot about art, so would go to exhibitions and write reviews for magazines and do essays for other artists and stuff like that. So not exactly like an art critic, but like more of an arts journalist. Although I did have a blog where I gave art exhibitions like a Pitchfork-style rating, if that means anything.
We harsh.
Like 7.2. No, they were all like 7.2. They were all— Uh, but, um, yeah, I mean, that's, that's really before I did my 10,000 hours in software, I also did my 10,000 hours like in, in the studio. And the thing is like, if you, if you hang out with other artists, uh, the, which they, they will hang out with you and like studio visits are definitely a thing and stuff. Um, uh, the, the work that they'll be doing seems like so natural to the person. Like no one else could have come up with that stuff. And it seems very natural. It feels like it just clicks. It fits really well with their background. It fits really well with like their, their, their, um, way of working. Sometimes it's weird, but it sometimes even fits with like their body size. Like there's like, it's just like strangely, like, you know, you just won't make marks longer than this because that's where your arm goes. Um, and, and like, there's a crazy amount of like correspondence between the creative work that someone's doing and like the person themselves. Uh, and I used to marvel at that of like, like, how do you, like, how did you come up with this? But reality is you don't really come up with the art that you, you make, you, you just make it and you experiment within certain conditions and you kind of take, take what you learned, what you loved about the certain art that you made. Certain, you know, sound in a certain song, the certain way a video looked or a, you know, a painting looked or something, something that you did that you were like, oh, I want to do more of that. And then you do the next thing, the next painting, the next batch of work, the next exhibition, whatever. That kind of rolls those decisions forward. It's almost like an evolutionary process, but more like opinionated. Is that the thing that will cause things to survive is that you could, you can practically do more of it. And also like, it's just more interesting. Right. Uh, and when you repeat that process, lots and lots and lots of times, every time rolling forward the good decisions that your favorite part of the last, uh, type of work, you just end up with this like highly, highly like nuanced, subjective, deep, uh, type of creative output that is, is like impossible for anyone else to have ever come up with. It wasn't like a good idea. It was just the kind of the repeated iteration and just like the habitus of the artist, right? Like, uh, and that, that is almost like it's different medium to medium, artist to artist, you know, time period, time period, but like, it's basically the, just the pattern. That's like the way that you make creative work. Um, and, you know, designers might be saying like, yeah, yeah, that's kind of the way that I work. Or musicians might say, yeah, that's kind of the way that we work. Right. It's just pretty Pretty, pretty the same, very different than normally how you make software and how you make applications, right? Where you're, uh, you're really trying to dial into a user. You're trying to find a market. You're trying to find like a, um, a problem to solve. Right. And, and the, the fun part about art is that it's not solving a problem. No one's asking you for this stuff. There are very few external constraints. And even if you're selling work, it's hard to, uh, during at least the formative parts of your career, it's hard to really make enough money for that to be the motivating factor. At the end of the day, you're just you in a room with a certain amount of time and a certain amount of material to, to do whatever you want. And that's kind of like a terrifying problem for a lot of folks unless, unless you really have that experience or that education to say like, well, here's where you are. You're like in the middle of two different projects. You just finished a project. You're going to work on one now and then you're going to roll whatever you liked about this one forward into the next one. right? And that, that in-the-middleness kind of gives you, uh, um, the right perspective in order to be productive in that lack of constraints, right? Um, because it doesn't really matter, but it absolutely does matter because it's like going to lead to the next thing. And so, uh, you see this sometimes with people doing open source work. I guess that's the closest, uh, or side projects where there is just, you know, you're not going to finish it and you're not going to sell it or whatever. But, you know, you like, this is what I did with the state designer, which was kind of like a state charts library, like XState with like a visual app attached to it, which in building that, you know, at one part of that application, I needed to draw arrows dynamically. And I was like, oh, that's a really interesting problem. I'm going to rabbit hole on arrows. And that turned into some fascinating area, which also led me to, work on, um, digital ink, pressure sensitive digital ink, which was Perfect Freehand, which got really popular.
So it's used by like Canva.
Yeah. Even Canva, uh, use, use Perfect Freehand. Um, Excalidraw, TealDraw as well.
Everyone.
Yeah. It's like, if you need digital ink, uh, you should use Perfect Freehand. It's, it's, uh, the best we got. Um, but in doing that, like I, I rabbit hole on this, like globs, like, oh, if I take two circles and connect them with two Bezier curves, like you know, based on this old, um, uh, paper, I guess not that, that old Andrew Glaser, uh, like then I can create these little like chunks and create the pressure-sensitive variable width line out of these little chunks of these, uh, circle curve segments called globs. So I built like an entire editor to help me understand globs. Uh, and then that editor, uh, led to, well, it was great. It was like a design tool, but it only used globs. There was only one primitive, which was globs. Uh, and so that led me to think, well, I want a design tool, kind of like a canvas editor like this that works with any primitives. Yeah. And that eventually became TealDraw a couple of iterations, uh, down the road. And so every time it was like, it wasn't that I didn't care about any of these projects, but like, it was just natural that, oh, I'm into digital ink now. That's not where the story ends. Like, it's not like, oh, great. I've arrived at, um, at the interesting creative output of my career or something like that. It was like, well, this is between something, right? It came from somewhere. It's going to lead to somewhere. Um, but for now I'm going to work on that. Um, and even though TealDraw has ended up being like the long project, right? It's turned into a company. It turned into a team. It's, it's, you know, powering some incredible experiences across different apps, including our own. Uh, that problem was big enough that, you know, I can still think of that same pattern of like things that you're kind of rolling forward, building on what you build, um, within, within TealDraw. And I know that someday TealDraw is going to lead to something else. Uh, and, um, but, but for now I'm very, very happy working on it. Um, so yeah, I guess we, again, we were talking kind of about like the way that professional creative work is done. Um, and, and yeah, I do think that that's a kind of like way of working that I've rolled into TealDraw pretty, um, whether I like it or not, that's just the way that I work. Yeah.
Yeah. I think you were saying as well that product market fit was kind of like almost like chasing you in a sense.
Well, the, uh, the, the the second secret to kind of creative work like that is that other people have to know about it. Like it doesn't, especially if you're not getting constraints from, from outside, if your work is also not discoverable, then well, that, then it never will be. Right. Uh, and so it's not exactly like self-promotion, but it's like kind of just, you know, keep keeping the windows uncovered so that people can look in or, you know, being able to share your work very naturally, especially work in progress, getting other people over, you know, to your studio and seeing the stuff or how it's expressed in my life and in software is like, just tweet, just post about this stuff, right? Like, uh, especially the bugs, especially like the edge cases, all that stuff. All of the projects that I was working on were very visual. And so, you know, the way that an arrow goes wrong is sometimes just as interesting as like, like when it goes right and unpacking of like, oh, this is why the ink, this is an improvement to the ink algorithm. And here's like the before and after, and you can kind of see the edge detection happening here and all that stuff. Right. Uh, just made for good content, like great content, I think. Uh, and really seemed to connect with developers. Who either were interested in this type of thing, but, but not working on it, or people who had done more like kind of visual problems in the past, or probably, I mean, the majority of web development is not that, not that, not, it's not that interesting. Like, it's not that fun. I mean, like, I'm very lucky to be able to use like TypeScript and React and all this on incredibly visual, like, problem area, but, you know, there've been plenty of my, my career where we were designing like, uh, forms, you know, there's a lot of forms, you know, and, and dashboards and things like that. Uh, that's like the normal web development kind of like material. And so I think it was interesting to see from, from an observer perspective to see those same tools being used in this like very unusual way with me and TealDraw and Arrows and things like that. But as a result, um, you know, the normal build a thing, try and validate it, update it, try and validate, like, you know, um, the dialing in MVP type of process that you see in startups normally. Uh, I didn't really do that because I wasn't really building a product. I was just kind of working through different ideas. Uh, but it was very visible so that people eventually got like really excited about it. And, uh, whether I like, like whether I was doing it very intentionally or not, like I was, you know, maybe content-driven development is like going to be a thing. But, uh, yeah, by the time that I started getting more serious about, about TealDraw, it wasn't because like, I thought that people were going to like this, it was because people were really asking for more from it and saying, you know, can I build with this? Can I pay you to stay unemployed? That type of thing. And when you, you know, that's a pretty good signal of maybe there's something more here. And yeah, so it was an unusual path between side project to, or into the company that is now Tildraw.
Scaling DevTools is sponsored by WorkOS. If things start going well, some of your customers are gonna start asking for enterprise features. Things like audit trails, SSO, SCIM provisioning, role-based access control. These things are hard to build and you could get stuck spending all your time doing that instead of actually making a great devtool. That's why WorkOS exists. They help you with all of those enterprise features. And they're trusted by OpenAI, Vercel, and Perplexity. And for user management, the first million monthly active users are completely free. Let's hear from Utpal from digger.dev, a dev tool using WorkOS.
How it's designed is that you can start as early as day zero. But for us, it wasn't day zero. It was closer to when we first started monetizing because we didn't have a signup at all. People could just anonymously use our tool. So it was a little later, coincided with when we wanted to start monetizing and like we needed a nice enterprise feature set. If you're open source and you're doing enterprise first, the minute you think about monetization is when you should think about WorkOS. To be honest, if we do that again, I think I would think about that on day zero, to be honest, because like we should have done it on day zero ideally. Anonymous usage should be permitted, but you should know who's using your tool. It should be optional, 100%. It should be opt-in, 100%. But it'd be great to have auth from day zero. You don't necessarily think about these enterprise features, but they still lead to revenue and it kind of is a no-brainer in that sense. So yeah, I highly recommend.
Yeah, just like an observation just from the way, like actually listening to you talk about this stuff, probably people listening will feel this as well, is when I spoke to Lou from your team, Lou was talking about, you know, make it visual and show your work, which you've just mentioned those two things. So it's obviously a big value at TealDraw. But there's also this, I think people find it interesting when someone gets very nerdy, very deep into something quite specific. And just the way you were talking about the globes, it's fascinating that you just found a paper on this, this old paper and built something just because it's like, there's something I feel like, and you talk about Hacker News, Hacker News loves this stuff. Oh yeah. We all love this kind of like, is it something that you think about?
Yeah, I do. Like before I worked on TealDraw, I was at, uh, I worked for about a year at Framer doing their, um, as a, as a design educator, basically like a dev rel for this, um, tool, which at the time was more, they've began as a kind of a codey prototyping tool and they've ended up as a more visual like website, website builder tool with some great code driven features kind of under the hood. I was like right in there, right in between where it was kind of playing in both areas of like coding, kind of React-powered design, as well as like a visual design tool, Canvas, et cetera. And, you know, I can do both. Like I have design background, also like technical, brief but intense background. And so I was like, you know, one of their biggest users and also love to talk, produce content, et cetera. And I didn't do well at that job. I couldn't figure out how to make the right content fast enough that interested the audience that we had and that like did the job that I was being asked to do, which is like, make educational content that also brings in attention, teach people to use this thing. Well, it turns out that designers don't want to code. Uh, that's number one. Um, and that, uh, trying to create higher production video on an extremely fast-moving, um, software product, startup software product is very risky because like the UI could change the night before a launch or something. And there goes all of your tutorials and stuff like that. Right. And, you know, for the right reasons, you know, they were pivoting more there and I wasn't being very effective. So that role ended. And I suppose some of the public work that I was doing, the kind of the work in public work that I was doing after that was a way of almost like, like I knew that there had to be a way to connect, like connect with that type of audience. Like there had to be a way to, you know, to, to do this better. I was kind of like, I joked that I was like, some of those open source projects were a way of just processing like the, the fact that like I had not been good at something, you know, like, or whatever, like it hadn't worked out. Uh, and, but I knew, like, I'm like, this is an incredibly curious audience, like a smart audience. Um, you know, who is, who also consumes a bunch of like content as well. It's not like, aesthetic or whatever aesthetic. And, but clearly I was making the wrong stuff for them. Like, what does the right stuff look like? And without, without being clickbaity or without being like kind of go hard on my own personality, like influencer type of stuff. Like, and what I kind of learned through these projects and stuff is that like everyone wants a certain, a certain level of like edutainment within like, uh, sometimes I watch videos, uh, about like Korean factories, like steel factories and like blast furnaces and stuff like that. Uh, there's just a fantastic YouTube channel where some film student kid or whatever is filming his uncle's factory or something like that. I don't know the actual plan. I have no idea why, but he's not like a, uh, it's not like the train nerd guy who's like, I love trains.
He's just like, what's the channel called?
I don't, I don't know. I'm sorry. I'll try and put it in there. Uh, but I find it fascinating because like, I don't, I don't need to know about this stuff. This is not, but it is at the right level of like, detail and, and a curious kind of creator also. Like, I feel like I'm experiencing this stuff, like, alongside of the person who's making it. And it's good content. Like, I love, I love that stuff. I do not want to go deeper, but like, I love kind of just seeing that surface of, uh, of, of the, the complexity and the, the, um, of a, of a system. And I think with with technology, it's the same. It's like, I don't, I don't really have time to go deep into anyone else's problems, but I do like to kind of like come by as a tourist and, and, and see enough of the complexity to appreciate it or to develop, like learn something new. Um, you know, in a way that is like snackable, right? Like, oh, how does, how do fractional indices work? Right? Like, uh, okay. You can order stuff like 1, 2, 3, 4, 5. Um, but then if you want to move the bottom one, the, the 1 to in front of the 5, you know, you could do it so that it just becomes the 5 and everything else changes its index. 5 becomes a 4, the 4 becomes a 3, the et cetera. But in a multiplayer situation, that means you've sent a huge diff across, right? You, you're sending a ton of information to say, change the indices of every one of these shapes. Uh, what if you could only do it with like one shape, one, one change, right? Say, okay, well, the 0 goes in front of the 5. So let's just make it 6. That's fine. Right? Like you don't need a 1 index. You just need a lowest and you just need to be able to sort these things. But what if you move the like 2, you know, index between the 4 and the 5? Well, then you need to do like 4.5, right? Makes sense. But you—
we had a fire alarm. So Okay, wait, so you were saying—
Fire alarm over. But yeah, you can put the, whatever, the 2 in front of the, between the 3 and the 4 as like 3.5, right? But you can only do that like 12 or 50 times or something like that before like you just lose floating point accuracy, right? So how do you solve the problem, which is that like, if you put a number between a different number, You know, like the, the, the 3 goes between the 4 and the 5. Okay, fine. It's 4.5. Um, but if you then put the 4.5 between the, the 2 and the 3, or, or put another number between, uh, 4.5 and 4, then it's like 4.25, you know, and you do another one. Now it's like 4.125. Uh, and you can only do that like a limited amount of time before you lose floating point precision. You just run out of numbers, right? You can't keep splitting.
Um, and you might be doing this like many times and it has to be.
It has to have such a huge ceiling, right? Because a document might be used for months or years, right? And people might just be reordering stuff all the time. So that problem of like fractional indices, and by the way, the answer is to use some like Base96 string-based, you know, representation of an index, which can be sorted alphabetically rather than numerically. And so, yeah, yeah. In TealDraw, like we have this, like, uh, the, the indices are go from like, I can't even do this, but like A0, A1, A1 up to like A99 or something. And then it becomes like B0, B1, kind of like that. Yeah. And it's actually much, much, much more, um, what I just described would, is nowhere near as, as, uh, robust as the, the actual solution. So you're basically like, it, infinite, like practically infinite, right? Um, but then what if two people do that at the same time? Uh, then you might both result in like the same, like whatever, a, b, b1 or something like that, right? So you actually have to add some randomness to the end of that, uh, like called jitter. So that if in a collaborative situation that if two people reorder something into the same place at the same time, they don't end up with the same, uh, result. They don't end up with the same, uh, index. And so like this, this tiny thing that you use in a design tool all the time of like move to front, move to back, move forward, move backwards, ends up having this like super complex, um, like technical solution for how do you actually do that with all these kind of problem elements that are, uh, like not obvious.
Yeah.
But which I can kind of explain, especially visually in like a Twitter thread.
Yeah.
And then you're like, oh, that's interesting. Cool. I'm going to move on with my day now. I didn't have to.
Yeah.
It's like, uh, yeah, it's like a curiosity kind of like, and, and if, if, if, if I do my job right with that type of product, uh, well, not even product, just, just interesting posting, like, um, content, uh, now you might know enough about how to solve these problems. And if you ever need that in the future, like, that's great. Now you know that I've, you know, not only that that problem exists, but that I've solved it, right? For TealDraw, that TealDraw is that much more technically robust. And maybe also communicating that like, these are the types of things that I care about and the depth that I'm willing to go. And especially with TealDraw that, like, it turns out that canvas tools in particular are just full of tons and tons and tons of these little details, little problems, little whatever, like, uh, that, that need it in order to solve them completely. Like you need to go pretty deep. Uh, and if you go pretty deep and you solve them completely, then for most people, you'll, you'll just never notice, you know, you would have noticed the bug if the, the, document crashed because the indices are the same, or if the cursor is not rotating, you're like, oh, it's like I'm rotating the shape, but the cursor is not rotating, or I'm rotating the shape, but the shadow is also rotating. And so it looks like the light source is moving, uh, you know, of the cursor or something like that. Right.
People would never think, oh, I guess actually when I think about it, TealDraw has never crashed on me.
Well, yeah, hopefully not. Yeah. No, like you have to, and I think this is the. Kind of the fun part of, of making kind of a commodity or an infrastructure product or whatever. Like it needs to just work.
Yeah.
Um, and your users shouldn't care about the fact that it's working really well. They should be paying attention to the things that are special about it. Um, beyond like the, the, the base, um, is this canvas working the way that I expect the canvas to work? Um, is this bug-free? Is this a smooth experience? Is the performance fine? Like. The absence of problems there is really like the baseline. But for a developer, for a designer, for everyone else, how you achieve that, like how do you achieve that kind of like perfect surface of a software product this complex? Fascinating content. Yeah. And that's a lot of what I realized is the right way to connect with that audience. You know, the stuff that I was not doing at Framer that I then did with TealDraw and the other projects that I did was like to try and tell those stories of how are we building this? Um, because I can't just tell someone, oh, it's good, or it's like complete or something like that. Um, but like, that's not very interesting, but by kind of like showing a little bit of how these things are achieved and the complexity involved and the interesting problems there, uh, that's that's where people started really paying attention and really enjoying it.
Yeah. And actually, just to dig in even more, because I think this is something that you guys are really, really good at, and I think it's quite hard. And I mean, if this was obvious, I think a lot of people would be doing it, and they're not.
Yeah, that's true.
If you were to say an example of what would be wrong, if we take this kind of thing, or I guess that's part of the question as well. I was like, maybe you just wouldn't have posted about this, but what would be an example of a bad piece of content and then what would be a good piece?
That's an interesting question. I think least engaging content is where we say, look, you can, it just works or whatever. Like, okay, we just finished a feature, like, well, I mean, this was towards the beginning, but like, you know, where you hold Alt and you drag something, uh, and you make a copy of it. Um, that's just the way that Canvas works, right? Uh, is it complex? Yeah, it is. Uh, but like, you don't see that complexity by, from the end user experience. Part of it because that's just like a table stakes feature.
So it's boring because it's like, well, I would expect you to do that.
Yeah, exactly. I'm sure every product category, every, every kind of type of software has these type of, like in, um, in the text editor world, right? If I was building a text editor from scratch and I was like, oh, check this out. Look, you type and then you pause and then you type again. And then if you press undo, it doesn't go back character by character, it goes back to where you paused, you know?
Yeah.
You know? And I was like, well, that's, I'm sure, you know, now that you mention it, that's kind of cool. But like, uh, that, that's also just, I wouldn't have even noticed that. Like, I've used text editors forever. I didn't even notice that undo redo works that way. But I guess now that I think about it, it does, but cool. Um, whereas introducing that as a problem. And even showing what it would be like if it did go back character by character, you know, uh, and, and kind of making this invisible sort of feature set like visible to you. Um, that, that's where it gets interesting. So to, to use my, um, alt dragging, right? Um, there's a, there's a kind of a, if you're, if you're, if you're in a good, good app, Canvas app, uh, if you hold Alt and you start dragging a shape, uh, you'll, you'll get that clone. And if you let go of Alt, um, you won't have that, that clone anymore. Right. And if you press Alt again, you'll have the clone, right? So you're, you're, you're still holding your mouse down, you're dragging, but like you can kind of like toggle the clone on and off almost by pressing or releasing Alt. This will work in Figma or any feature-complete application like this. However, that feature set intersects with another interesting kind of problem, which is that there, when you, if you hold Alt and you drag and you let go, because now I want the copy over here, some people will let go of the mouse and the Alt key at the same time. And that causes a kind of like physical race condition of like which finger is going to come up first. Because if you, if you let go of Alt before you let go of the mouse, uh, then the clone will go back to, you know, like you'll lose the clone essentially. So you actually have to add a tiny delay, like 50 millisecond delay before you like before you can say, okay, well, the user let go of the Alt key or something, the modifier key has been, been released in order to prevent those cases where like you just like from a user, you would be like, well, I do the same thing and sometimes this happens. Yeah. Like sometimes the cloning thing just doesn't work. Like I, I clone it, I say, okay, here, and then it disappears. So what's up? Uh, and that, that's what happened with us as well of like, how did Well, like, why is this happening? And we had to dig into like, oh, it's like, it's not a software problem. The software is correct. It's doing the thing that I, you know, it should be doing. It's that my, my body has some randomness in terms of like which finger goes up first. And it's too much to ask people to like, just make sure that you let go of the, the mouse before you let go of the Alt key. Otherwise you'll lose your clone. Uh, and so you solve that thing and, and software, of course, but like it's a, it's a problem that begins, you know, in the skeleton or something like that. Uh, and that, that becomes more interesting content, right? Uh, it's not just here's the feature, but like, here's what makes this feature interesting. Here's the story that we had related to it. Here are some of the constraints that are not obvious. And then even with a feature like that in the canvas, because it is all these different systems that are all working together. Shapes that can move, collaboration, undo, redo, all that type of stuff. Uh, there's always at least one interesting collision between any given feature and one of the other features, systems in the application. So like, what if you're, uh, alt-dragging something and someone deletes it, you know, and then you let go, like, does it bring back the clone? If you press Alt again, do you get the clone? Or like if someone's changed it, like, does your clone also change? Like while you're in the middle of this interaction, all this type of stuff. Uh, that's an example of like that feature, um, overlapping with collaboration in a way that I don't know, like produces, uh, an interesting problem if nothing else. And all of those things can be visualized and shown. And sometimes it's, it's more interesting to like, similar to the undo by character by character example, like reproduce the bug in public in order to show like, this is not what you expect.
Is that kind of how you might lead of it? Because I was also, when you were saying this, I'm like, okay, this makes total sense. Like show this, this problem, talk about this, this is more interesting. But then how do you like actually get like, like people scrolling on Twitter, like you want to just like instantly get them like interested in This is a problem.
Yeah. I think the, uh, the TealDraw's content in this way peaked during a time in Twitter's history where like threads were, um, rewarded and GIFs were rewarded. Uh, and so for me having like a thread of GIFs was like really, really good at the algorithm. Not great. I think it's still pretty good at the algorithm. Like, uh, but also folks, like, this is the type of content that I would like to see. Like, I love watching other people's devlogs and, um, you know, like peeking under the, uh, behind the scenes at, at the way that certain software is made. Um, same thing with video games. Like the video game devlog is like a really phenomenal format of, um, of content related to video games. Um, So I don't, I don't know how, like, how do you hook people? Uh, normally it's by showing the, I think I did a lot of like showing the bug first, you know?
Yeah.
And like the misbehavior or when building a canvas, we also would build tons of debugging tools that visualized some of the behavior, uh, so that we could understand it and so that we could make it, make it work correctly. Most recently this was like, uh, we were doing elbow arrows, which need to kind of like path between, um, two edges of a geometric shape or something. Um, and that pathing algorithm is, is kind of complex, right? There's many, many segments that it could, you know, it could go up and around and back and, you know, this way. Uh, and so the, the debugging tools that we created for that were like super complex and interesting and like visually interesting. So sometimes the threads would just start with, uh, with like that feature turned on so that you could see kind of what's going on. And, you know, it's hard not to look at that and be like, what, like, what is good? Like, I want to know more about that. Like the, uh, kind of the skeleton view of, of a certain interaction. And it's all, I mean, because it's TealDraw, it's like this very simple. you know, normally black and white, uh, normally 8 to 20, 8 to 12 seconds is like the ideal GIF length and stuff. And, um, you know, aesthetically it, even though it looks lo-fi, it's like good looking lo-fi and stuff like that. Um, but yeah, I don't know. Uh, that's the type, like type of content that, that seemed to really connect with people. Um, and get them in.
Yeah. You mentioned kind of like that TL;DR is good looking, and it is very good looking.
And you—
I also like on another show, I think it was on Latent Space, you were talking about like how you felt like there was, when you were starting, you felt like there was a lack of like good taste. Well, like, I don't know if taste was the right word that you used, but you were talking about how there wasn't I think it was taste. You said that it wasn't just about features of other things.
It was like, I think especially from a, like a value proposition perspective as like a developer infrastructure tool. So it's TealDraw is an application, tealdraw.com. It's also an SDK, tealdraw.dev. You can use this to build on top of the canvas that we've built. Maybe throw away our UI and build your own. Maybe keep our UI, but like add stuff to it. Same with shapes and canvas content. The canvas itself is like just a React app all the way down. So the components, each little shape and drawing bit can be a normal web React component. So you can make interactive stuff or to-do lists or charts and visualizations and stuff like that. It's a big deal.
No one else is like that, right?
Yeah. Yeah. That's very, very unusual. That is, uh, That was a strange bet that that was even possible. Like, like a high performance, high ceiling, uh, Canvas app that, that used React as like the, uh, the, the rendering engine. We've had to solve some insane problems related to, to making that work. But, uh, as a result, you can just put anything on that, right? Um, for teams who want to build on a canvas, it's not enough to say like, we've solved these problems. Like we've solved the high performance side of it or the, we've solved the browser compatibility and the mobile compatibility. Or it's a, it just does the things that you need to do from a technical perspective. It's also a lot of, hey, there, there is no solution to some of these problems. Like some of this stuff is really, really subjective. Like if you wanted to build this yourself, it wouldn't just be a technical challenge, although it would be a very big technical challenge. It would also be like, uh, you'd be sitting down with your designers and your developers and you'd say like, do we want our arrow labels, uh, to, uh, be in the middle of the line or at the end of the line? Yeah. And how close? To the edges, depending on the arrowheads, do we want the arrow labels to be? And also, like, if the arrow label dimensions change, thus that the label would overlap with the arrowheads, like, do we want that or do we want to collapse the, compress the width of the label?
And now elbow arrows. Yeah. What's an elbow arrow?
It's not that, and the worst part is that this all matters, is that like this will have a meaningful impact, especially in the aggregate over like whether your canvas feels good or not. And it's just like, man, in order to, to build something like TealDraw, it's not only do you have to solve the technical problem and the design problem, but it's also like you have to have like, all right, let's look at how everything else is done. Let's prototype a whole bunch of different things. Let's pick our favorite. You like, there's a matter of, um, Like, it's, it's not like I was raised by arrows or something like that. Right. But it's like, I've spent a lot of time thinking about this. Uh, and the, uh, and you do want, you, you would want to hire the person who has that, like extremely informed opinions about a very narrow subject matter that's going to matter for your product. Yeah. Um, and there just aren't that many people like that. And there's certainly fewer people like that than products that would like to have a canvas in them. And so I think part of our value proposition with TealDraw to developers is not only does it work and do people like it and is our pricing like appropriate and all that stuff, but like, we are the people, I am the guy that you want designing your arrows, right? Like this is the team that you want working on this problem. If you could hire us as a dev shop, like it would be a good hire, but you know what, we got something even better, which is like, let's just distribute this SDK to you. and for, for much less than our, my contractor fee, you know, like, uh, you can have this experience and pass it on to your users. Uh, and that's, yeah, that is, um, I mean, taste is a complicated, complicated thing, but even just narrowing it to, um, extremely informed opinions based on, um, time spent in a, in a domain and, and knowledge of like different solutions that what is possible in this domain. Um, yeah, when it comes to Canvas, we, we have as much of it as anyone. Um, and probably more than, than is, what's interesting is that it's more than would be necessary if we only cared about the application side of things is that because we're an infrastructure product, because we have this kind of like light cone thing going on where it's like, oh, accessibility on TealDraw. Like, it's not just going to be one app, but we could be improving the, um, the accessibility of canvas apps, you know, for a generation of software. Yeah. Uh, let's do it right. Yeah. In a way that in an end user application, like, yeah, I would want to do it and I would want to do it right, but it'd be hard to prioritize because I might also be like, well, we're not the accessibility canvas, we are the, whatever, AI tutoring canvas, right? Like, so let's make sure that we're focusing on the value propositions that we have to our customers. But in TealDraw's case, like, that is the value proposition. It is the, like, not only have we chased all the rabbits down every rabbit hole and made the shadows rotate with the cursors and all that stuff, but also, like, your users aren't going to crash the app if they move something forward and backward, you know, 50 times or something like that. Or, you know, and, and that we've, we've hit all of these, these issues and that we've made some very informed subjective choices about like how the canvas should feel in a way that is consistent. Um, and should be predictable and all that, which is very hard to do. Yeah. Um, But in the result, you have a nice, nice canvas. Yeah. Yeah. Yeah. It's really interesting.
It just makes sense. It's like you go really deep on a topic, on topic, like a problem, and then also talk about how you've gone deep on that problem. And then it's like kind of you show that people, that's the content people, because people want to trust you. And also you live up to that trust because you have thought about all these things.
Yeah, it's, I think I would be doing it anyway of like sharing those stories because I think they're interesting, but it turns out to be very aligned with like in a practical sense, like, like deal flow for us is that when a product owner is like, hey, you know what, I think we should add an annotation tool to our, to our, our application so that people can draw on top of screenshots. Uh, does anyone want to do that? Or like, can we even do that? You know, estimate this or whatever that someone on that team would be like, oh, you know what? I know a guy, you know, like I know a team who's working on this and we could use this, like, give me an afternoon. Let me, let me, uh, do a proof of concept here. Uh, and that sidebar, but that, that like time to first prototype is the definitely one of our kind of like key goals in the design of the, uh, the developer product of like, how long does it take someone to like wow their boss with, uh, something built with TealDraw? It's actually very short. Um, but yeah, like just, and, and so that, you know, and that might lead to a deal and, uh, lead to a sale and, you know, lead to a, a line going up for me. Yeah. Yeah. But, you know, it may have started with me posting about some random, you know, bug that, you know, before and after. And here's the bug that happened in TealDraw, or here's the complexity of one of the features that we added in TealDraw. And like that, that may have been the seed of that deal flow, right? It's also led to a lot of our hiring of like people wanting to work on those types of problems and wanting to work with people who care that much. And on a product where that actually is aligned with the business rather than being like a distraction, which unfortunately it is most of the time. Uh, and, um, so again, like I would be doing it anyway, but it turns out to be incredibly good for the product. There's like no way to, way to miss if you're, uh, building a developer tool and, uh, and talking about like not just what you offer Um, but, but, but sharing your expertise, I suppose, and like reinforcing that through, um, through the stories you're telling about your thing. Yeah. Um, cause yeah, you, you want to, you want to feel like you're essentially getting expertise for free, you know, when you, when you choose a developer tool, like I'd love part of why I love using React is I'm like, well, that's made by people who really care about this problem and who felt like, you know, from the very beginning that this, this needed to be solved and this, you know, that there must be a better way type of thing. Right. Um, and who care way more about the details of that problem of, you know, how do you efficiently put like together like parts of a website and update them when things change? Uh, like I've gone way deeper on that. Like I have a lot of trust in that, that engineering effort and that like API design and all this stuff. In part because like I've identified the people who made it so well with like, um, that problem space. Right. Um, like if anyone's going to figure this out, it's, you know, it's these guys. Um, yeah, I hope to be that for, for Canvas. Um, I, yeah, it's, it's an insanely hard problem. And, uh, uh, but I, I love it. It's like, I really do. That's, it haunts me all the time. Yeah. Yeah.
That's, uh, is, is seriously cool. Steve, um, thank you so much. That was incredibly interesting. Um, have you got any shoutouts or anything you want to do?
Yeah. I mean, if you want to follow along the journey, you can follow us at TealDraw on, on X, I think on Bluesky, we're tealdraw.com account. Uh, if you want to try out the product, it's at tealdraw.com. This is like the end user demo. It's, a very good whiteboard. It's free. It's essentially a marketing project, although it's very popular, very good.
And you have users now, right? Yeah.
You can also log in for the first time. Yeah, it turns out you can do your Series A without a landing page and without letting people log in. You can just insist on— And if you're a developer and you want to work on this type of project or just want to build something cool with TealDraw or see how it works, that is tealdraw.dev and get started for free, all that really great community on Discord as well. So yeah, follow us on social media, tealdraw.com to use it, tealdraw.dev to build with it. And yeah, have you built anything with TealDraw? No. Yeah, well, later today.
Later today. It'd be good to check in. I'll check it. Definitely. Cool. Yeah, amazing. Thank you, Steve, and thanks everyone for listening.
Thank you.
More from Steve

Group Chats With AI Don't Work — He Built What Comes Next | Steve Ruiz, Founder@tldraw

Founder Fridays: The Side Project that Became a Startup People Needed with Steve Ruiz of tldraw








