The Changelog: Software Development, Open Source - Selling SDKs in the era of many Claudes (Interview)

Episode Date: February 19, 2026

Steve Ruiz joins us for a deep-dive on tldraw (a very good free whiteboard) and the business he's built selling SDKs that help others build very good whiteboards (and more) with tldraw's high-performa...nce web canvas. Along the way, we discuss the excitement/fear we share about keeping our agents busy, how SDK and infra companies are affected differently by agentic software than SaaS companies, how Steve is approaching the coming era of internal tooling, what will happen when we equip LLMs with an infinite canvas, and more.

Transcript
Discussion (0)
Starting point is 00:00:01 Welcome, everyone. I'm Jared and you are listening to The Change Log, where each week we interview the hackers, the leaders, and the innovators of the software world. On this episode, Steve Ruiz joins us for a deep dive on TL Draw, a very good free whiteboard and the business he's built, selling SDKs that help others build very good whiteboards and more with TL Draw's high-performance web canvas. Along the way, we discussed the excitement slash fear we share about keeping our agents busy, how SDKL. SDK and infar companies are affected differently by a GENTEC software than SaaS companies, how Steve is approaching the coming era of internal tooling, what will happen when we equip LLMs with an infinite canvas, and a whole lot more. But first, a big thank you to our partners at Fly.I.O. The platform for devs who just want to ship.
Starting point is 00:00:56 Build fast, run any code fearlessly at fly.io. Okay, Steve Ruiz with TL Draw on the changelog. Let's do it. Well, friends, I'm here with my good friend Chris Kelly. We're at Augment Code. Chris, I'm a fan. I use Augie on the daily. It's one of my daily drivers.
Starting point is 00:01:18 Now, I use Claude Code. I use Augment Augie. And I also use Amp Code and others, but Augie, I keep going back to it. And here's where I'm at. I feel like not enough of our audience knows about Augment Code, not enough about Augie, the CLI. It's amazing. I love it.
Starting point is 00:01:35 What can you share? Yeah, we often say Augment is the best coding assistant you've never heard of. And that's both frustrating as to someone that works there. And it's like very proud of the work we've done. But also like inspiring. Like we want to go and sort of punch above our weight. We just like we aren't anthropic and we aren't open AI. And so the quality of the product itself, you know, with our context engine,
Starting point is 00:01:55 once you do touch it, people are like just blown away by that. And so like that keeps me going every day. So not to bear the lead here, but this is a paid spot. You are sponsoring this show to get this awareness. Now at the same time, we're selective. And I love to use your tool. But there is in the world. So a lot of developers look at the space and they say, okay, well, how long can this work?
Starting point is 00:02:17 How long is this sustainable in the case of Cursor or a windsurf? Or you pick the name and you think discounted tokens help me shape a lens for our audience. I think it's a lot of awareness, right? Like Cursor got a lot of publicity early on for like fast revenue growth, which well deserved. I think, you know, frankly, some of the media gets the story wrong in that, like, if I gave you a $1.50 for every dollar you sent me, I'd be the fastest growing startup in the valley. And so when you're selling discounted tokens, yes, of course you're going to grow very fast, but all that money plus more goes to the model providers. So I think the real story is the story of Anthropic and, you know, being an API provider, I think the market has just moved so fast and there's so many pieces of competition out there that it's just hard to get noticed. So friends, I love Augment Code and I love using Augie.
Starting point is 00:03:12 And I highly recommend you use it. I love using Augie. I can hand Augie a well-defined specification, a well-defined pep, as I call them in my world, an agent flow. And it executes flawlessly. So the cool thing about Augie that I love most really is that context engine. And I can hand it a task and I can just churn away on my well-defined plan and just never buy. me and accomplish the mission. It is so cool leveraging the latest models, the context engine, and all the fun things behind the scenes in that awesome CLI. So yes, go try it out, augmentcode.com.
Starting point is 00:03:50 Right in the top there is a CLI icon, a terminal icon. Click that, install it, and change your world. It's going to be awesome. Obmancode.com. Friends, we're here with Steve Ruiz. And Steve, I think the way it's best to kick off this pod is that we have had a couple Twitter DMs back and forth. And one thing you said was, you're kicking off this new year trying to figure out how to run a software company in the age of Claude. I think we're all kind of feeling trying to run something, maybe our lives, our careers, our software companies, our latest new thing, these new superpowers we have in the age of Claude. So how do you feel about that statement? Like when you share that with me,
Starting point is 00:04:55 What do you feel when you hear that back to you? Yeah, right on. Let's just diving right in. First off, thanks for having me on. I was just saying, I've been listening to you for, yeah, for a while, for years. Really enjoyed the conversations out here here. Yeah, running a company, so it is a weird time to be a programmer. I think it's also a weird time to be someone who's trying to decide what to program, you know.
Starting point is 00:05:16 There are things that were on my roadmap for 2026 that I finished in the first week of 20206, that I expected to take like, you know, be like a Q3 type of project. Essentially every hard part about having a startup that it has suddenly become like harder, actually. The only part that's become like easier is the actual producing of code, right? But the alignment, the reviews, the how do I position this technical product? I sell the code, right? How do I make sure that that we are picking projects that play to our strength? in that position rather than producing the same thing
Starting point is 00:05:56 that someone else could make, like with a, hey, Claude, could you please fix this or please add this feature? How do I, how do I comport to the community, you know, with regard to contributions and issues and things like that? Teal Draw is not open source in the normal sense. It's not like MIT licensed, but it is open, it is source available.
Starting point is 00:06:18 And until very recently, we just took, you know, like we participated in that contribution, ecosystem just like an open source project would. But like that's had to change as well. We could talk about that. And then all the, you know, like the communication overhead in order to know what we're all doing at the same time when you're running a team like this is just become harder because everyone's moving so quickly, right?
Starting point is 00:06:44 And even the differences between how quickly people are moving no longer seem to like directly relate to their seniority or their like, you know, anything. It's like suddenly everyone can contribute at a level that is much more impactful on the product and can just do more of that. It's just really hard. I don't know. I'm sure everyone else is kind of experiencing the same thing. But just to put a name on it, it's just, it's weird and it's hard and feels very new and exciting. But certainly weird and hard.
Starting point is 00:07:13 Weird, hard, new, exciting. Those are great adjectives to describe how I feel, I think. It's kind of funny that you mention, you know, the roadmap you have for the year and in the, in the first week and then really just the the paradox of choice really because when you have a to-do list that gets done in a week or two well now you have a lot more choice because you maybe actually you might have less potentially because you didn't plan well enough to have a an exhaustive list but it for me it's like a paradox of choice where you have so much to choose because you can go so many different directions and you know without maybe some prior knowledge or some wisdom you can
Starting point is 00:07:52 sort of get lost in the, oh, my gosh, I could do so much, so I should do so much. So I do so much. And then you get this cycle that sort of just turns into your life in some way, if you allow it to. I mean, I think everyone's had that experience of, well, I don't know, hopefully not everyone. I've definitely had the experience of going to bed and being like, ah, what? I didn't queue up any work tonight. Like, well, like, my claws are just going to be sitting there waiting. for me to wake up in the morning. We better get them something to do. And yeah, I've had a couple of chats with friends of confused partners to be like,
Starting point is 00:08:32 what are you, what exactly are you doing? And why is this important? And yeah, I think, especially for programmers who like, I don't know, I like to optimize. I like to play factorial. I like to, you know, set up, you know, machines that sort of run themselves. and now that I can do that with programming and with coding and really other things as well. Like it's hard to not do that in a way. You almost feel ineffective to not have playing ahead to put a little Ralph loop going or something like that.
Starting point is 00:09:06 I should write 17 specs today so that when I'm sleeping, Ralph can churn, you know, something like that. Might as well. It'll just be idle otherwise, you know? Yeah, I don't know if that's a good solution. but I do feel like that's a pressure on the aware, I would say it. Like not everyone has that awareness. There's a lot of folks who obviously are aware of the era of claws that we're in and the era of AI-assisted development and all that stuff.
Starting point is 00:09:32 But somebody who's like truly steeped in the minutia of running multiple clods, that's someone who's like truly aware of the guilt potentially that you would put in yourself or not planning ahead and not putting all the clods in the motion over night. Is it guilt item? I think it's fear. Yeah, I guess it's a version of FOMO. At least what I'm seeing, and Steve, you can respond because it's your emotion. But I'm not saying you're personally afraid, but I think a lot of us are, there's a fear, not of missing out, but a fear of being left behind.
Starting point is 00:10:02 And we've always said around here, open source moves fast and software world moves fast. And I feel like in the last 12 months, it's gone from fast to like, you know, Olympic skiing downhill, you know, and they're just, they're just flying down that mountain. And there's a coming onslaught of software. I mean, you're already feeling it. I already see it. So many announcements. So many new things. Things ramping up so fast.
Starting point is 00:10:30 I think it's a fear of being left behind, like with your product, with your skills, with your business, whatever it is where it's like, I'm wasting. If I don't have my clods running while I'm asleep, you know,
Starting point is 00:10:41 somebody else does. So there's a sense of urgency that's not new, but I just feel like it's, ramped up and you can opt out of that but then you know we have this fear of being like useless eventually and if you're not doing something with something then you're kind of useless right somebody else is yeah right yeah yeah i think that that is the thing that's but it's also a team with excitement as well like when you're flying down that i mean i'm just watching the olympics so like
Starting point is 00:11:10 when they're flying down the side of that mountain on these skis and they're going for speed right like they are there's fear there because you crash going 90 miles per hour down a mountain like pain but it's also fun it's also exciting they also enjoy it and so it's not like a univariate emotion because also you're like thinking wow look at all the stuff I can do that's that's an amazing opportunity if I'm not doing stuff all the time I'm missing out on more opportunity and so I don't want to say it's just fear but there's certainly like this fear slash excitement this is why we use all the adjectives right now because we're just trying to describe how we feel about it yeah and I think that those two things in combination are really really
Starting point is 00:11:45 powerful and kind of remind me a lot of like gambling you know type of like toxic things that people will say about gambling you know yeah like a little danger and i yeah like i mean uh i go through phases of uh watching ticot a lot and i'm currently in a in a ticot watching phase and somehow the algorithm is uh uh i must i must have watched one of these um gambling addicts talking about their their gambling addiction uh videos for more than you know 10 microseconds longer than the algorithm Just long as to get another one. Yeah. Exactly.
Starting point is 00:12:17 And there's a lot of like, you know, like, hey, you gambled away the house, you know, type of content, you know, where it was like, hey, at least I was trying, you know, like, had I won, you know, that would have been a life changing thing for our family. And I was doing it for us. And it's like, okay, that, that, like, I can kind of make sense of how that would make sense, you know. Right. And I think with, and there is a lot of this sort of like fear and excitement. mixed together. And yeah, when using these tools and stuff, absolutely, I feel like in the same way that I really felt the need at one time to learn TypeScript, like way early, you know,
Starting point is 00:12:57 even when it was still like a just part of like the Android ecosystem or not Android, what was it, Angular ecosystem, right, that was using TypeScript. I was like, well, this is clearly the future. Like this would be such a high signal, like good thing for me to be good at because like, if I'm good at this, then the industry goes this way. like, that'll be just great for me. Like, I'll be able to do more. And there have been a couple of these times where I'm like,
Starting point is 00:13:20 like, oh, well, this is clearly the most important thing for me to learn and to be good at, like an expert at. And using like AI coding assistants, using these tools without a doubt. Like, this is the most important. Like, if I wanted to become good at anything, this is the thing to become good at right now. Not because I'm not even sure that the industry is going to shrink in the way that we've talked about. But it's just like the amount of like the stuff that you can, the amount of power that you can have within an organization, within an industry, like just being able to say, I can chip this much, this fast, based on this understanding,
Starting point is 00:14:03 and allow us to have the time to iterate, like six, seven more, sorry, I'm seven year old, six or seven more iterations. than I would have otherwise, you know, and we deliver this stuff that would have remained on the backlog, like, so much faster and everything like that. Like, it's just so high impact, like so high. Right. Absolutely. You got to work at it, right? And at the same time, if you don't, if I don't learn this, if I don't like develop these skills, if I don't become familiar with like how to use whatever, cloud code and how not to use
Starting point is 00:14:37 cloud code or something like that, I might become irrelevant, you know, like those skills that I have right now just might be or that the things just might jump ahead so quickly that I'm no longer able to make sense of the next jump. That's also a big fear for myself. One of our engineers went on a year-long kayaking trip last. October and I'm thinking like my god like when Alex gets back like is it going to like yeah is it going to be even possible to make that that uh will any of this makes sense right still on the trip or is Alex yeah yeah no no Alex is for another six months okay I was going to ask if you made the
Starting point is 00:15:16 you know how it went but yeah still happening wow I mean I do think it's interesting that uh Peter Steinberger, right? The maker of OpenClaw, like, you know, this was like the first technical project that he's, he had programming, you know, background, had worked on some incredible, like, developer products like before, but like had also been on a essentially in retirement, like not looking at computers type of thing until, I don't know, six months ago, nine months ago when you got back into programming AI. This might be apocryphal actually now that I think, I'm saying it out loud. But like that, on the other hand, you know,
Starting point is 00:15:51 maybe it's possible to come back into this with fresh eyes without that continuity and just be like, oh, here's how I'm gonna use these tools. But it is a fear of mind that, again, like I won't be able to make sense of that next jump. But I also, man, I love the fact that we can, like the things that, last Friday, I was going into the weekend and I'm thinking,
Starting point is 00:16:15 you know what, we've been talking about doing this, like comfy UI style like image pipeline starter kit, right? Teal Draw, it's a SDK. We all, you can make anything on top of it, but for like Infinite Canvas apps. But we also have like starter kits for, hey, if you're gonna make like a workflow tool, here's like a workflow starter kit,
Starting point is 00:16:35 or if you're gonna make like a embed this thing inside of like a chat, like here's a chat starter kit or a multiplayer app starter kit, that type of thing. And we've been talking about doing one that was kind of like comfy UI. Are you familiar with, these types of the software. It's like a pipeline for AI image generation.
Starting point is 00:16:52 So you say generate an image of a cat. Okay, like generate an image of a landscape, use a mask to pull the cat out of whatever image you generated, compose those things together, and then make all of, I don't know, Instagram ads or whatever people use this stuff for. And it runs asynchronously as like a workflow thing. And we've been saying like,
Starting point is 00:17:13 you know, Tiltrow would be perfect for that. Let's make a starter kit for that. But we knew it would be complex. We knew it would be a couple of weeks of work and, you know, okay. But last Friday, I'm just like, you know what, Claude, I can describe this to you. I can point you to, you know, six or whatever, a number of other, a number of other products that kind of have these features and stuff, you know, come up with a minimum spec for this, the feature set of this thing and then just build the circuit. Like, go for it. And two hours later, I remembered. that I had fired off that cloud to work on this.
Starting point is 00:17:50 And I've loaded up and I'm like, my God, this is like 80% done. Like, you know, okay, I need to guide it. I need to, you know, make sure there's only 80% left. Yeah, like I still didn't write any of the code myself, but I just kind of steered the UX of it and the architecture and stuff like that. And we shipped it today. Like that was four day, five day, like a shipping cycle for something that I really expected to to take weeks of a focused one or two engineers, you know, to really get across the line.
Starting point is 00:18:25 And like, that's amazing. Like, I love that. Like, that's, like, like, forget the fear. Like, that's just awesome. Like, I want more of that. Like, I can't believe it. Like, pinch me, you know? Yeah.
Starting point is 00:18:37 So, but how do you plan for that now that I have, you know, we joke about having a zero backlog at Teal Draw? Is that like, you know, we've gone through all the. PRs, all the issues and stuff. We've identified them. We even had different AIs, like, do some, like, research on all the bugs and everything like that. And it's just like, if in six months there's still any issues left, like, um, like, like, would we be surprised? Like, like, is there any reason why we wouldn't be able to chew through all of this stuff, either closing or ignoring or saying we're not going to work on that, but even just building a prototype for some of this stuff, see if, see if it works.
Starting point is 00:19:16 Well, more software, more bugs. bugs for sure, but maybe not if you have a bug churner or something like that, that sort of all it does is look for bugs. You know, even like deterministic simulation testing, like there's ways you can deploy that beyond the database, which is traditionally where you've seen it at these higher level, higher order places. There's a lot of places you're going to apply that kind of thinking even to sort of in the background, try deterministic things seeded with an idea just to try things you would never, do. And now you might even actually employ or deploy that kind of tactic in your codebase, which largely will just help you restructure a lot of things. Maybe you've written it poorly,
Starting point is 00:19:56 maybe cloud wrote it poorly, maybe move it poorly. And now you've got to rethink how you turn your knobs and levers. But now you can actually take the time if you hadn't done that from the origination of the project to comb through the project because you might as a human spend weeks just looking at your code base to see how you can apply DST to your project, just to restructure so you can do. And now it's like, well, yeah, that's kind of like, let's just do that because I'm not looking at that code. I'm not going to spend, I'm not going to miss my child's birthday because I'm looking through
Starting point is 00:20:30 the code. No, I got, I've deployed some sort of, you know, infinite loop that helps me do that kind of thing and make that kind of plan. And so now maybe we have more code, but now it's even more possible to have more code and no bugs. That's a strange potential world. It is weird. I used to use this kind of, I don't know,
Starting point is 00:20:51 it's not really a trick or a pneumatic device or something like that. I've just been like, hey, if I just fell off my bike and hit my head and just, you know, kind of like came to in this startup and with these, you know, the current state of like our code base and the current state of our customers and all this stuff like, what would I think I should, would be the most important thing to work? on, right? Like to try and clear the, just try the exercise of like clearing all the sunk cost or the momentum or the continuity and say like, okay, if I just started fresh right here, like, what would be the most important thing to do or what would I do next essentially? And I'm feeling
Starting point is 00:21:29 like I have to do that like every six weeks now of like, okay, wait, hold on. The parameters of what's possible have shifted. Is this, thing that we thought was a good idea before or thought was a blocker or something like that, or even like a principle of the company, like is that still relevant? An example of this has to do with our documentation, our change log, and the way that we keep up communication around the SDK and around our releases. So Teildra, we ship the website, Teildra.com every week, and then we ship the SDK every month. And essentially the dot com, which is this free, tildreotcom, free whiteboard that people can use
Starting point is 00:22:15 and please do, it's really good. This is a lot like Excaladra is how people describe it very often. Right. Which is, you know, we're friends. Don't worry about it. You probably predate Escaladrae, don't you? No, they predate us. In fact, one of the reasons I started working on this project was I had implemented a, I contributed
Starting point is 00:22:34 to Excaladry a bunch and implemented a feature there. And I was like, wow, this code base, because it was, very organically, very open source kind of code base. Yeah. I'm like, this is, this was harder than it should be to add this feature here. And like, you know, there are like a hundred switch statements in this code base where you switch on, you know, like, whether you're dragging an arrow versus like, you know, drawing or something like that. And I could kind of see the, I was already thinking in this mode just based on my other open source projects.
Starting point is 00:23:03 But like, I was like, I could kind of see the outlines of an SDK, right? where all those things are plugable rather than hard-coded. And yeah, I pulled on that thread a little bit, and it turned out that there was a demand for it. So you had the SDK in mind from day one, pretty much. This started as, yeah. That's interesting. The dot-com was and kind of always kind of still is, like,
Starting point is 00:23:29 essentially a demo of the SDK. But it's a demo that has like, I don't know, I think like 130,000 registered. users and like half a million monthly like users because you can use it while logged out. So it's a good demo. It's a very good demo. Yeah. I, uh, luckily we, we get a lot of, uh, the infrastructure, um, at reduced rates.
Starting point is 00:23:53 So I'm off. So we haven't had any pressure yet to, uh, to do it. But it is a good thing. It helps us. We'd license the SDK. So it's awesome to have something you can send to your boss. Um, but like, yeah, we release the, the, that's, dot com is part of the, what what it does is a demo, but it's also a place to like dog food, the SDK before we ship it, right?
Starting point is 00:24:12 So it's like, yeah, let's let's have our half a million people just kind of fuzz tests over this thing, and report bugs and crashes and things like that. Rarely happen, but, you know, it's good to give us confidence. But the communication around like, okay, here's what's in the next release, right? That's really hard. It's really hard to maintain because like PRs are going in all the time. It requires this like manual narrative synchronization across like the team. And I'm sure this is a problem, but at any team, right?
Starting point is 00:24:45 And usually requires a lot of kind of like middle management and product managers in order to be able to have a cohesive story of like, this is what's happening in Teal Draw for this next release. But this is what's happening in the code base. But yeah, now I have an automation. Claude code runs on a Mac Mini in my living room every day. that says, what are the PRs that landed in the last 24 hours? What is the current state of this next.m.D. file.
Starting point is 00:25:15 And let me just create the, essentially the release notes that we would publish today if we shipped what was on Maine right now. And that just happens every day. And it's good. And we spent a lot of time making it good, but it's still, it's like, the idea of having that document, like, as a startup, as a 15, 20 people, like, that's terrifying, like making a commitment to a high effort, like, thing to maintain that is not like, tests don't fail if our change log is wrong, right? There's no way to automate around that.
Starting point is 00:25:49 And to say, like, to customers, yes, you can look at this document because every day it'll be up to date. Like, that's a type of commitment I would never have made just because it's like, like, if it's wrong, like, I won't know it. And like it's going to require constant like re recommitment to the work there. And so those are the types of things that we just didn't do. And we didn't do intentionally like from the strategic level. Like we will not do these things that require all this maintenance.
Starting point is 00:26:18 We need to do things that are automatable that break loudly and so forth. But these days in this case like wow, I guess we can just do that. You know, like we can publish docs every time we land a PR, you know, we, we can, like, update the change log. You know, like, there's a lot of things that, yeah, it just changes what's possible, I guess. This is all coming from somebody who, if I understand correctly, you are writing code daily. This is not like, hey, you run the company and you're sitting behind the scenes. You're active in the day to day.
Starting point is 00:26:57 What does that, what does that like to, I suppose, not only be in charge, but also be in charge and still write code on the daily. I guess direct code maybe is a better way to say it. It's not that different than how it's always been. I mean, like, this has always been, I mean, there have been times where I've written less code because I don't know, we were fundraising or I was doing a lot of hiring or other things, right?
Starting point is 00:27:19 Like, or where, you know, to my great shame, like most of the code that I wrote would happen on like Saturday mornings, you know, or evenings. There was a bizarre time where Tealry went from being my night. and weekends project to my company, back to being my nights and weekend project, even though I still was running the company. But yeah, the thing that has changed the most for me is that there were a lot of things that I had to say, like, kind of know to or like not now to because the time required to do
Starting point is 00:27:53 it was a lot. And because the work itself was very like opinionated or very like tasty, taste-based type stuff, where it was subjective, right? It was like, and Teh-L-Torah is full of those types of things. In fact, that's kind of its, one of its value propositions, right? Is that like, what does a good arrow look like? I don't know, an arrow could look like anything, but you know what? I know what a good arrow looks like. And I will ensure that our arrows are great. And that's just one of those things. You have amazing heroes, by the way. Thank you. The best have ever seen. And the best years of my life went into those arrows.
Starting point is 00:28:34 But yeah, like some of those things like, okay, they're just hard to work on because the iteration is going to be slow or it's just going to be like it's going to take multiple, you know, shots at this before I understand the problem, really, all that stuff and stuff. But they're not necessarily things that I'm super comfortable handing off to other engineers because they're, I don't know, they're, yeah, they're like, they're clearly a Steve. feature, like they should be a Steve feature, but it's really hard for me to commit to Steve features during the times we're most busy. But I feel like I can work on those features a lot better these days because the work of the programming, the work of getting it to a point where I can like say, that's, we're going in the right direction or not. And then doing another iteration or trying a different direction, all those things. that time is just compressed. And so, yeah, like, if it is a kind of a design feature, design interaction or something like that, where we're not really sure how it should work.
Starting point is 00:29:36 We just have to do a lot of different, like, take a lot of shots at it, which is the place where I kind of add the most value as a programmer, that stuff has accelerated massively, right? Because at the end of it, I might throw all of those versions out and say, okay, well, now I know what the feature should be. let's even hand off that thing to get built by someone else, or let's take that extra time in order to review it or something. But like the sort of the decision making within the design phase of these features, like it's massively accelerated because, yeah, I can run multiple coding agents at a time,
Starting point is 00:30:17 trying different things. I can analyze things really quickly. And yeah, just take more shots on goal, I suppose. Do you find yourself wanting to be in those details more than? Because I got here's where I'm trying to go with this is that I feel like there's this necessary slowdown, not because you can't go that fast, not you physically, but the organization, given the new constraints and levers we can pull. I almost feel like folks will want to go a little slower, not to go slow, but to be in the details, to be in this deep feature, for example. Do you find yourself sort of like lifting off the gas a little, not because you can't push it down,
Starting point is 00:30:57 but because you want to personally be involved in very particular, Steve, details? That's an interesting question. I think it depends. I think it depends on whether I'm working, if you can think of, especially with Teal Drop because it's an SDK, right? Kind of as a tree, there's the very core parts of the SDK, and then there are the things that depend on it, right? There's like the kind of the teardra.com being a thing that depends on the tealdra kind of core library. There are these starter kits, right, that depend on the core library, but nothing depends on them. Teeldraw.com needs to work because, like, users depend on teeldraw.com, right?
Starting point is 00:31:38 But we have other things that no one uses. I mean, like, they don't have users. Like the starter kits don't have users. The documentation doesn't have the same, like, relationship to user data than the dot com has. things like that. When I when we find ourselves on those like leaf nodes of that tree like things that don't have any dependencies go fast. Like full throttle. In fact like you should because it's like an opportunity to practice going full throttle, you know. Yeah, you learn to trust the model, trust the system, you know, trust the letting go even make some mistakes like like yeah you might as
Starting point is 00:32:17 well because like this is a place where you can do that and and you won't be able to do that. that on the kind of the core, the more dependent upon parts of the whole operation. The other places like internal tools, we have like business intelligence tools that we've built for ourselves. I can, my sales guys can look at a summary of, oh, you know, which PRs are landing, you know, and like, okay, put that in a language that I can understand or something. Like abstract this for me, tell me which types of customers I might even mention this to, right? Like we're putting in accessibility features. All right, well, here's how to talk about this to customers.
Starting point is 00:32:59 On the flip side, I can look at sales and I can see, you know, I'm essentially just taking all of the CRM data and handing it to Gemini and saying, like, tell me a story about this, you know, pull out the stuff from that matters. And also just tell me, you know, are there any product insights that have come out of these conversations or the meeting notes, et cetera? Just give me something to work with. And I can just refresh that any time I want, which is great. This is another thing that, like, it would be insane for me to tap my account executives on the shoulder and be like, hey, stop what you're doing and write me a 500-word essay about the deal that you're working on, you know. But it would be great to have, right? It would be awesome to have. It's just like, I would never do it.
Starting point is 00:33:43 Now I have that. And it's not perfect, but it doesn't, it's not load bearing either. So it's like, it's still great. Those internal tools are another place where we've, we've just ripped. And then sometimes they're broken. Sometimes they're not broken. To our friends out there running a distributed team, when was the last time you audited who could reach your internal systems from which device and from where?
Starting point is 00:34:08 It's probably been a while. You know, most companies bolt on security tools. They do it one at a time, a VPN here. access list there, maybe some endpoint monitoring if someone remembers to do that. And the result is a patchwork that technically works but gives you zero centralized visibility and a whole lot of implicit trust. That is the exact opposite of zero trust. That's basically Vives based security. So Norleyer replaces the patchwork. It combines VPN, access control, and threat protection into one platform built on zero trust principles only the right people access the right resources
Starting point is 00:34:44 under the right condition it runs on nord links that's their VPN protocol they built on wire guard and deploys in under 10 minutes there's no hardware there's no quote-along rollout just turn it on and start enforcing real policies and nor they are recently parted with crowdstrike to bring falcon endpoint protection to small and medium-sized businesses that means network layer security plus endpoint detection in a single stack. That's the kind of multi-layered posture that used to require a dedicated SOC team. This is now available to teams without that kind of team. So if your security strategy has been a spreadsheet of who has access to what and where
Starting point is 00:35:24 and all that good stuff, and it was last updated about six months ago, this is the upgrade you need. You can get up to 22% off nor layer yearly plans plus an extra 10% off with our coupon code change log dash 10 Nord layer again change log dash 10 dash nor layer you can try at risk free with a 14 day money back guarantee check it out
Starting point is 00:35:46 Nordlayer.com slash the change log again Nordlayer dot com slash the change log it's definitely the era of internal tooling I think you can build so many things that help you move the data points you have like you're giving an example here where you
Starting point is 00:36:06 where things fall through the cracks, not because you don't have humans evolved, because clues you have humans evolve, but it's that the synthesizing the data out of certain artifacts has just largely been impossible, not because it's been impossible, because spending the time on it has been impossible. And now you're sort of freeing up this data to you as a visionary and someone who has clear taste to make choices that you could never really make before. You didn't have the data.
Starting point is 00:36:33 You should have the data available to you. I didn't have the data in a, I didn't have. have the insights, I suppose. Like the, yes, I think like granola, like I use granola, um, for my meeting notes and stuff, but I never read the meeting notes. Like it, it's cool to know that there's a summary of, of my meeting, but I just, I don't refer to it. The only time that I ever use it is when I shove those meeting notes in, in a big
Starting point is 00:37:01 group, uh, to some other LLM and say, like, hey, can you, can you pull out some, uh, you know, How do I, how can I be a better, how could I improve my one-on-ones or something like that, right? Right. Because that's the type of thing where normally I would need a consultant or a coach or a, I don't know, therapy. Maybe not a therapist, but like, you know, like I need some other experts. A version of it. It's a feedback loop. Yeah.
Starting point is 00:37:27 Like to do some real thinking about these particular artifacts, which by themselves don't really mean anything. Like, or at least don't, don't mean anything to, to, to. me. The HubSpot, you know, the amount of information that goes through a CRM every day is just massive, right? It's a working tool. It's just like a Git, you know, a code repository. Like, things are coming in all the time. Like, you can't stay on top of it. You can work within that, you know, but like actually zooming out is very, very difficult. And yeah, it's fantastic to have essentially an army of consultants that I can just throw at all of these things. Here's what's interesting about your saying,
Starting point is 00:38:07 is that you, as someone who's leading, you're able to stay in the minutia while zooming out, which has largely been next to impossible to have the macro and the micro at the same time without losing major context in your brain. Because you can kind of like just let
Starting point is 00:38:23 granola do a thing behind the scenes and summarize 10 or 15 conversations you've had to some degree to learn, for example. That's a macro. The micro is the data day when you're in the minutia of what is the feature, how are we moving things, you know, how I'm automating clot, all these things.
Starting point is 00:38:41 And you don't have to give up the other to get the other. And I think that's a unique position to be in. That's the thing I think when you have these AI skeptics out there, which I was an AI skeptic and Jared and I were both like, gosh, this, this hype wave, is it real? Is it not? And we all kind of were there. And I think until you've gotten past that, that threshold to see what's beyond just the word AI or the, I guess the acronym in this case, that you can truly understand what is possible
Starting point is 00:39:11 for someone who knows how to fully leverage and stay in the details, but also zoom out. I think I'm really lucky to be like a technical founder because I kind of know both sides of the problem, right? Or I'm learning both sides of the problem. Oftentimes these internal tools are a way for me to learn about a part of the company that I might not know about. So it is like I didn't know how our CRM organized data were, you know, some of the routines until I was like, all right, well, I want to build a tool to help me visualize it or help me understand it, right? And just like anything else, right? Like that's like I'll learn the things that I need to learn in order to build the thing that I'm building. And oftentimes I try to build things that will force me to learn the things that I need to know that I need to know for other reasons as well. But also just like, yeah, I know the, like I'm, it's not that I know what the AI stuff is capable of, but I know the problem and I know the type of problem that I can solve with AI. And having a bunch of analytical like intelligence problems, like where where the bottleneck is cognitive work is in a way kind of like a luxury, right? Like it would be very hard for me to think of things to do with.
Starting point is 00:40:33 Like, I have no problem finding use cases for using whatever AI models because so much of my life is trying to get that macro, right? It is trying to get the intelligence or insights out of, even with only 15 people, it's still a complex system. Like, we're producing knowable things like all the time, whether that's bugs or customer feedback or code or like conversations with customers or, I mean, you name it. our analytics and all that stuff. So at the moment, I feel very, very kind of like lucky to both have the problem which can be solved and at least can be addressed with these tools, the ability to work with those tools, the capital not to worry about the cost of working with those tools, which is fantastic, but enough of a problem to really sink my teeth into without having it be the same scale of problem that you might have,
Starting point is 00:41:36 you know, I don't know, at a Shopify or something like that, which, yeah, you couldn't really fit into your head. Or maybe you could. I don't know. Tobias may push back on that. If anyone can do it, it's Toby. Yeah, I think. Speaking for the audience, Tobias Lucke, the founder and CEO of Shopify, who went from bespoke
Starting point is 00:42:01 a random Ruby app store front to Shopify, ICO, stock market, massive, which is cool. Canadian powerhouse. That's right. Yeah. Yes, for sure. A feat of nature, for sure. Tell us about the SDK business. What is business like selling SDKs?
Starting point is 00:42:21 So it's like some advice that I got like really early on when I started the startup, which is that like, if you feel like you're doing anything really creative with your lawyers, then you're probably doing something wrong. Like if you if you're asking any like original questions to your lawyers and you're probably like stop because you're like don't don't do that. Like don't, don't try and break new ground in terms of anything like that. And I think, you know, similar advice with go to market is that like starting a startup or just selling anything, it's just so hard that if you're if you find yourself innovating in the go to market or if you find yourself innovating in the thing that you're selling, like, you know, you should
Starting point is 00:43:01 ask yourself, is that really what I want to be doing, you know, or should I just be using a much more normal go to market and just focus on differentiation, product marketing, all that stuff, right? Unfortunately, selling a SDK, there's not a lot of great examples of companies that have gotten past, you know, a certain size selling code, selling NPM libraries, essentially, right? And so, yeah, we find ourselves in the uncomfortable position of having to kind of innovate in how you do that, right? And experiment much more than I expected. The good news is that we're kind of figuring it out and that a lot of the, and I'll talk about specifics. But like, when I started, I was really scared, honestly, that like if I try to commercialize this thing that I
Starting point is 00:43:55 sell to developers, then people will not accept that, right? Like, if you require a license key in order to use an NPM package or something like that, then your adoption will go to zero, right? If you put a price on something, then people will just immediately create an open source alternative to it or something like that. Somehow I think we've actually kind of made it out of that problem pretty well. So and you know like we're not break even, but we're going to be close and we're probably going to actually break even like this year. Congrats.
Starting point is 00:44:35 Even with like 20 people, I think we're going to do that this year. But it's interesting. And some of the decisions that we made about changing our license about how we work with license keys, how we like identify people, all that stuff. In retrospect, I'm so happy that we did them. And again, I'll talk about the specifics, but like, when you look at some of the, the things that have happened this year, the kind of the big stories in open source and the big stories and like developer tooling, like they're not happy stories. They're mainly stories about how AI is like really disrupting the revenue channels, the kind of traditional revenue channels around open core software, right? Yeah. And that's not been the case for us.
Starting point is 00:45:24 Our story is closer. It's not as good as Supa bases, but it's closer to super bases in the fact that like models recommend us, people use us, people like us, and then people pay us, right? That we're delivering value and we have the mechanism set up to capture the value that we're creating. That's great. Like if I were trying to sell premium features on top of TielDraw, which is one of the things that one does with this type of thing. I would be terrified right now because, oh, it's just some code on top of a known open source library?
Starting point is 00:46:00 Like, I can do that all day. Like, I can have 10 of my clods doing that at once. But if it is, you know, like, all right. So anyway, selling it SDK, the way that we do it, Teal Draw is, we distribute it on NPM. Again, it's like source available. You have to sign a CLA. if you want to contribute.
Starting point is 00:46:22 Yeah, it's not MIT license. It's under essentially commercial license. Which license do you actually choose? You said source available. Which one did you choose? Was it self-made? I think we adapted one that Microsoft used. I don't want to interrupt.
Starting point is 00:46:36 I just wanted to get that clear when you were going to those on. No, no, no. It's the teal draw license. It's a, I think the important thing is it's not H-EPL. It's not like BSL or, you know, the kind of kind of kind of common ones. Honestly, for most organizations, either it's MIT or it's Apache or it's nothing, or it's, okay, we'll talk to sales. Like, either it's like fully permissive in a way that is not going to complicate your next funding round, you know, when the lawyers do due diligence and they
Starting point is 00:47:12 say, hey, why are you using this, this library? Do you have a license to use this library? you know, if it's not totally compatible, like fully, you know, don't worry about it. It's on MIT. Just go, go nuts. Like, do whatever you want with it. And it's not a GPL or GPL where, yeah, there's requirements on the parents. Like that your app needs to be open source as well or stuff like that. If it's anything else, it's basically all the same, which is that, okay, we're going to have to
Starting point is 00:47:43 have, like buy a license. We're going to have to arrange a alternative. license that we can use. So Tiltraud's license is has its like little particularities, but essentially it's not permissive in the same way that MIT or Apache is. So yeah,
Starting point is 00:48:00 there you go. Everything else kind of fits in the same bucket, which is like not permissive. Anyway, anyway, what it is like... And being source available and choosing your license is super important to run an SDK business. That's why I wanted to get that clear because the license you choose and to make your source available is where the rubber meets the road in terms of adoption and even experimentation and obviously converting to a customer if you're a true, if you're beyond the, you know, the development. Now you're actually in production with it, for example.
Starting point is 00:48:36 But continue. I just want to get that clear before. Yeah, yeah. Gosh. So we are. SDK business. This could be a three-hour
Starting point is 00:48:46 fireside of like how just in the story of how this thing about I'll tell you the current you know what I will actually go into a brief brief history of it right first like the V1 of
Starting point is 00:49:00 TILDry was MIT licensed it still is if you want to use that version when I formed the company we basically rewrote the thing and that version was like in Alpha and Alpha was public under Apache license, but there was always a statement basically like, we're probably going to change our license when we hit 1.0, unless we just decide to do something
Starting point is 00:49:21 completely different. But if we're going to maintain this, this is going to be the project of TLDROT, which is the S-K, like, we're going to change the license. And yeah, when we did the 2.0 of that, when we released that version of it, it was just a non-commercial license. It's just like, you can use this in academic work, in student work, in things that don't make money or inside of companies that don't make money, I guess, or maybe not inside of companies. But if you wanted to use this in any commercial settings, you need to buy a license. How much does that license cost?
Starting point is 00:50:00 I don't know. Talk to me. Then we just put that out there and crossed our fingers and hoped that anyone would show up. And I was shocked that a ton of people showed up. And we did almost a million dollars in revenue in that first year with such a bare bones, like go to market, license structure, you know, sales structure, anything, right? It was just like, let's negotiate every single deal and try and figure out how much value we're providing and argue that Teeldra is a valuable thing.
Starting point is 00:50:33 And we have this very simple, like, you can't use this in a commercial setting, you can't use at a commercial setting, you know, under these sort of conditions. All of the licenses that we sold at first were perpetual, meaning like you pay, you get a year of updates, and then if you want to buy another year, like you get another license. Otherwise, you can just keep using those updates that were released within that year, like, forever. I don't care. I mean, it's really like the most generous type of like commercial license that you can imagine, But I needed to know whether anyone was even out there.
Starting point is 00:51:09 Like if we had sold, you know, $100,000 worth of licenses with with the most generous terms possible, then, you know, we could only sell less than that, essentially, with more restrictive terms. But that's the way that we did it in the first year. And I say we, but it was just like just the way that the six of us came up with as a, as the way to do this that would make sense. It said we needed to validate this because there was no. guarantee that anyone would be willing to pay for this. But yeah, by the end of that year, we had switched to a system where you could use Teel Draw,
Starting point is 00:51:47 even in production, even in commercial apps for free, but it had a big made-with-teel-draw in the corner. And that was our kind of like V-3 watermark license. If you wanted to get rid of this made-with-teel-Dra, then you'd have to buy license. But you could use it, anyone could use it, even in a commercial setting with this watermark. And part of the reason why we did that was we needed to know where this thing was being used. We started to realize that we were bottlenecked in selling the SDK and just knowing who was using the SDK so that we could talk to them. And that little, I mean, there was no license enforcement for the V2 or the V3, I think. No, for the V3 there was, but it was all local.
Starting point is 00:52:33 like we're not pinging a server or anything, but I made sure that that little SVG was hosted on a CDN. And we could look at that CDN and say, okay, who is requesting this little watermark SVG? And that gave us at least some idea of like which domains were using this, who was using this. Okay, we should go talk to, you know, this company because they're clearly using the watermark or something like that.
Starting point is 00:52:56 Maybe they're going to want to become customers. But it was, it was bad, it was a bad idea. And it was a bad idea because when we did talk to customers in that setting, they wanted to pay much less fertile draw than they would have before when there was no difference at all within the SDK except for a piece of paper that said you could use this in a commercial app or not. And it was because in the minds of the customers, the conversations we kept on having were like, oh, well, that sounds like a lot of money just to get rid of a little SVG in the corner of the canvas, right? is that we had essentially anchored the price that we were charging to the pain of this little watermark rather than the value or whatever of the canvas. People were building, like investing. There would be like 20 people working on top of tealron. They're putting like millions into this project.
Starting point is 00:53:45 But, you know, that SVG really didn't feel like more than $10,000 a year type of thing. And so we, the summer of last year, we kind of did the next iteration of the life. license, which was much more restrictive, which said you need a license key to use this thing in production. It will not work in production without a license key. You can use it locally. That's fine. But as soon as it detects that React is in production mode, if you don't have a license key, it'll just like disappear, right? Which was pretty extreme. We balanced this by saying, like if you have a hobby project or a non-commercial project or just something that like, you know, is a student project or anything else.
Starting point is 00:54:33 Like, I'll give you a license key forever for free. Like, I don't care. And if you have something in between a commercial project, not commercial project, you're kind of evaluating it. Here's a 100-day license, like trial license key that you can use. And at the end of that trial license key, either you can decide not to use this, or you could say, actually, this thing is just going to be a hobby project. I'll, you know, give me one of those licenses.
Starting point is 00:54:56 or you talk to sales and you, you know, if you're using this in a commercial app, you can, you can do that. The reason why we did that and the reason why this was like so important, besides the fact of removing that like low anchor to the price point, was that it allowed us to know who was using this. Like, if a person signs up for a license key and says, here's my email or here's the domains where this license key needs to work, like that is such a, like, you know, we don't blow up their inbox right away, but like, that's a person we can talk to, right?
Starting point is 00:55:34 And we didn't really have that before. We were just constantly trying to chase like, okay, where did our watermark load and all that stuff? Now, of course, the developers who are using this, the developers who are getting like login keys and are on our Discord and stuff are usually not the people who decide whether to buy DealDraw, right? Like they're the experts who are going to bring this into their organization. They're the people who are going to answer the question, how do we build this thing? Do we build it ourselves or not? But they don't always have the company credit card, you know? So oftentimes we don't even ever talk to the actual developer who, like, you know,
Starting point is 00:56:11 whatever, got a license key or something like that. We don't care about that email address, but it gives us enough information or to start looking at, okay, well, who in that organization is probably running this project? Who should we reach out to? You know, who should we try and get an intro to? I don't have a huge sales team, but like, and I think I have a really good sales team. But that's the type of work that they do in order to actually make deals happen out of this interest. And all of those things currently are working really well.
Starting point is 00:56:45 And, you know, we have like some, like, I don't know, like, I don't know, like, Google's using using Teal Draw in a product. Shopify is using Teal Draw and their internal products like Autodesk is using Teal Draw. Like we're growing within these these companies and like almost all of the AI design tools that are out there right now are like using Teal Draw for their canvas. It's awesome. Like it's really good to see something that I didn't think was possible at all, which is to make a venture scale potentially venture scale company, based on front-end tech, right? Actually start to kind of like, you know, for the engine to at least turn over, you know?
Starting point is 00:57:28 And it's really, really, yeah, it's encouraging. It's exciting. It's even more interesting that your distribution is via NPM. You know, you're not even really having to pay for your distro. You're just, you know, in the sense that you don't have to build on the infrastructure, right? The things that we don't have to care about are insane. Right. Yeah.
Starting point is 00:57:47 I mean, like super high margins. For a while, the biggest cost to TealDraw, apart from developer salaries, was DocuSign. Just because like the cost of doing business for a product like this is so low. Now, developing it, expensive, of course. Engineers are expensive. Other infrastructure is expensive. Our biggest marketing tool, teeldraw.com. We have really great relationships with our cloud providers and things like that.
Starting point is 00:58:18 or Cloudflare. But, you know, still it's, it's like compared to a normal marketing budget, totally reasonable, totally acceptable. This podcast is brought to you by Squarespace. How many hours has your team spent on a marketing site that could have been live in an afternoon? Be honest. You picked a framework. You debated SSR versus SSG.
Starting point is 00:58:42 You wrote a custom CMS because the existing ones were not quite right. You set up CICD. You designed a component library for a site with four pages, and it's still not launched. Oh my gosh. That entire yakshave is exactly what Squarespace replaces. It is the all-in-one website platform for building a professional online presence, selling services, getting paid, marketing pages, content, all without turning your landing page into a side project. Here's two features that matter most to the folks in this audience. blueprint AI. This is Squarespace's
Starting point is 00:59:22 AI enhanced website builder. You feed it basic information about your industry, your goals, your style, and it generates a fully custom site with quality content and personalized design recommendations, not a cookie cutter template, but a real starting point that you can craft and hone and refine with drag and drop editing, visual effects, and flexible layouts. No design degree required, no CSS specificity battles, you skip it. And second, selling content. If you have expertise, worth packaging, you got courses, video tutorials, workshops, gated posts,
Starting point is 01:00:01 square space lets you set a price, put it behind a paywall, click recurring revenue, one-time fee, or subscription is your call. You get to choose, and you get payments, the access control, the presentation layer. It is all built into the same platform where your site lives. No, bolting together three SaaS tools to monetize what you already know. And the built-in analytics, they tie it all together. You can see traffic, track revenue from bookings and sales, and learn where to focus. All from one dashboard, it's data-driven. It's the way it should be.
Starting point is 01:00:33 And the best engineering decision is knowing when not to engineer. Ship the site. Focus on the work. Get it done. Okay, so head to squarespace.com slash changelog for a free trial. And when you're ready to launch, use our offer code again, ChangeLog, save 10% off your first purchase of a website or a domain. Once again, Squarespace.com slash changelog. You know, this is a weird analogy.
Starting point is 01:01:04 I just literally thought of this in this moment because I want to make this point to compare to SAS. That's my point. Like, I get your argument and I 100% agree with it. But my suggestion is that it's largely margin based in a much higher scale, because you're not sass. And it's kind of like the concentrates that don't ship with the water kind of thing, you know? I just heard that Minutemate is no longer making their frozen
Starting point is 01:01:29 cylindrical thing that they would sell you as a concentrate anymore. And I thought that was kind of cool because like here you got Minutemade shipping this thing you've had in the freezer probably since you were a child. It's not maybe that too, maybe a 20 year old version of it or something like that. Probably the same tube. Yeah, yeah. Right. But you got this concentrate in this tube that ships without the water. So you got less cost, right? You got more they can fit into the case, maybe dramatically less weight. So a lot easier to maneuver around. Inventory and cheaper. Yeah, of course. Yeah, all the things. Right. And now they're caboshing this thing. And I'm like, well, how is that a thing? Because like, that's like an SDK versus SaaS. Like SaaS is me giving you the whole bottle with the water and everything. And the SDK is like, here's your concentrate version of it. Do what you want. You know, like, you don't have to put it in water.
Starting point is 01:02:18 You could put in something else if you wanted to. So this is like the SDK version of it. I mean, I think the, okay, so there's another conversation that I've kind of been watching happen, which is about like the impact of AI coding and other things on SaaS is like, why the heck would I pay for this if I could essentially build it in a weekend, that type of thing, which I'm going to, I'm going to, I'm going to, I'm going to, uh, prevent myself from diving right into that, even though I think it's really, really, really interesting.
Starting point is 01:02:50 And it will have a impact on tail draw's future as well. I think selling an SDK, yes, absolutely. Like our margins are good, right? It's just that you can sell a, if you add the water yourself, you can sell it for three times as much, right? And all those other problems about inventory efficiency and things like that, they're solvable problems, right? They're complex, but they're
Starting point is 01:03:16 solvable. And I think SAS similarly, like, oh, it'll require a lot of infrastructure. Like, yeah, okay, we can solve that. Like, ah, but reliability will be a problem. Like, security will be a problem. All right. We have people, we have capital. We'll solve all those problems. And then we'll be able to sell our canvas, you know, like a, like a mirror or something, like sell the whiteboarding experience for millions of dollars a year for, for enterprise, right? Makes sense. Certainly has made sense. From a how hard is my life perspective, selling an SDK is easy. What's your security, Steve? I don't know. What's your security? I'm not, I'm never going to touch your data. Like, I don't care. Like, what do you like? I don't know what you're like. I don't know what's your security. Exactly. Like I am not involved in that problem. Like that's part of the whole point. You can literally say, I don't know. I don't know. Like, hey, can you can you build this feature? Like, well, uh, you. Uh, you.
Starting point is 01:04:14 No, but you can build that feature. In fact, here's how and here's a thousand examples of how to do it. And especially these days, like, it's trivial, you know, to customize this stuff in some really deep, deep ways. Like, that's exactly what we've built this thing to do. So much of the normal places where, like, support, like all this stuff is just like, it is crazy where we don't have to spend time compared to almost. almost every other product that I've ever worked on because we are one step removed from users, right? Like we're not even exposed to the same risk that our customers are, right? Like we sell a lot into ed tech.
Starting point is 01:04:58 Ed tech is brutal. Oh my God. Like you're on the line for, you know, a government changes the way that it distributes, you know, funding within a school district and like, and you just lose that customer. Or you lose all of the customers within that state or something. It's crazy how hard those people are fighting. Nothing but respect for people doing business in education technology. But we're not directly related. We're not as exposed to that problem as those customers are.
Starting point is 01:05:29 We're providing the tooling for them to build their product, right? And our customers take on that, I suppose the investment, the risk of bringing us into the product. And it's our job to make sure that we do the best we can at the thing that they brought us in for. But like every now and then we're like, how many people are on teardrow.com? You know, like how many how many people have registered? We're like, oh, I don't know. Let me go check. Like, oh, cool.
Starting point is 01:05:54 It went up. But like, yeah, it's, uh, we, our attention is, is towards things that are, um, it's, the, the, the seas are a lot calmer in, in selling an SDK. it's just not obvious how you sell an SDK. Have you done a masterclass? I mean, we got the short version here for listeners of the pod, but is there like, here's how to sell an SDK.com or like, do you have anything with that? Because I'm sure there's others that would like to skip to the end
Starting point is 01:06:24 because you went through a heck of a process to get there. Yeah. I'd like to talk more about that. And that's something that myself and my head to go to market, Phil Lowe, also talk about a lot, which is that like, man, this is new information in a way that I didn't expect to kind of be producing new information. Back to what I said at first, is like, these are not the problems that anyone wants
Starting point is 01:06:44 to have, but they are the problems that we have, or the places where anyone wants to innovate, but it is a place where we've innovated. And yeah, I'd like to talk more about it. I spoke recently with like the CEO of like AG grid. AG grid is like a data grid component. Almost the exact same story as us with regard to the go to market, 100% inbound ourselves, 100% inbound, right? Trying to change that, trying to change that.
Starting point is 01:07:13 I mean, we have a lot of different differences in terms of how we price. That's the other, man, pricing is a really challenging part of this. But the, you know, there's there are companies out there that are doing the same type of thing, but there's not a lot of it like literature on it. There's not a lot of like best practice. or anything. It's still a very, very new way of running a business. Just on the pricing, there are so many ways of pricing, of charging for like an SDK use like this. And kind of fellow travelers here would be maps like Mapbox, right? No one's going to build a map.
Starting point is 01:08:00 They're going to buy that or they're going to license it. Text editors, data grids, kind of charge and diagram libraries, like if you're doing a lot of automatically laid out charts or even Mermaid J.S. at a certain point, you would want to be customer of them. It's kind of like front end infrastructure. Yeah. That needs deep thought. It's not something you can, you can probably do some of it over a weekend, but you have to have extreme institutional domain knowledge that you've obviously got.
Starting point is 01:08:35 Yeah. It's a, my line is always like, look, you guys could do this. Like, there's nothing. I mean, I think we're a pretty special team of, you know, people. I've tried to build that special team. But like, at the end of the day, we're programmers, you guys are programmers. Like, you could build teal drop. You just, it would take a while.
Starting point is 01:08:54 And then if you got it right. Let's Steve do that, please. Let's Steve do that. Even if you got it right, like, no one would notice because that's just the way that the canvas is supposed to work. Right. Like, I could build a text editor. If I did my job right, you wouldn't be able to tell that I built it. Yay, right?
Starting point is 01:09:12 Like, that's a terrible. Not the best use of my time. No. And there's enough bad canvases out there that I can point to, or at least subpar can come to say that, like, you might not get it right or you might have to ship it early and your users will know. And here's something that you can use today, right? It's a strong value proposition for companies I know that they want to use this type of thing.
Starting point is 01:09:36 But how much is that worth? How much are people willing to pay for that? The biggest number that we put in front of a customer was half a million dollars a year. Our average deal size floats, but it's not half a million dollars to year. Yeah, what was the response to that offer? Yeah. Well, I think the conversation with the half a million dollars a year guy was like, we are a consultancy. that builds large projects, and we only have one customer.
Starting point is 01:10:08 Basically, we were a consultancy with one client. And I was like, that's an interesting, like, who is your one client? They're like, it's the U.S. Department of Defense. That's pretty common, actually. And, yeah, I was like, oh, okay, cool. And they described this project, and I'm like, man, this is like, it's all the things that we would want to have is like, well-funded, yes. it needs to work and needs to be good and needs to be something that they can rely on for the next 10 years type of thing.
Starting point is 01:10:40 Basically, like, all of the, the, ticked all of the boxes of the things that would, you know, would lead me to believe that Teal Draw is going to be a, like, major part of the salute, like, whether this deal even happens or not, right? Whether this project happens or not. So, not every project is like that. Obviously, there are a lot of projects where Teal Drop plays a very small role, even in a big project. But yeah, there's a number of apps that just would not exist without Teal Draw just because of the kind of the lack of alternatives, number one, but also just the unviable. It would not be viable to build this themselves and then build their product on top of it. So those people probably just would have done something else. Anyway, yeah, how much is that worst?
Starting point is 01:11:26 Well, we're figuring that out. We'll talk again in a year. Okay. I'll try and have a better answer for that. That's part of the detail to be in those negotiations because like when you're in those sales negotiations, it sounds like you're learning too about your customer, how like how your value permits into their software stack and truly what your value is. Like that's, I think, like I was kind of like taking it back by your desire to negotiate every deal, but that's also a learning process you have to do for a measure. Could be a year or even two or potentially a whole entire version like you've done because that gives you a learning process. It gives you a learning process.
Starting point is 01:12:02 I think everyone should try that as well. It also gives you an opportunity, really low friction opportunity, to just ask for more money. And everyone says, like, oh, you should raise your prices, raise your prices. But like, it's a lot easier to just, you know, come off of a call being like, all right, those folks agreed pretty quickly to the number that I put out there. Maybe on the next call I'm going to, you know, ask for a bigger number, right? And there's nothing, there's nothing wrong with that.
Starting point is 01:12:33 Like, that is the process, right? You can just iterate on it faster. Everyone does it, but it's, you don't have to change your landing page. The other thing is that, like, one of the things that we took away, just kind of, again, like the, how do you sell an SDK thing? When I first started talking to customers, I would be pricing based on how big the customer was, right? And a lot of like a lot of SDKs will do this. They'll say like AG grid prices based on the number of developers who work on the project that's going to have this feature in it, right? That's going to use the AG grid code base, right?
Starting point is 01:13:10 Or like how many times will this component load or how much, how many minutes will this thing be active? Or how many connections or all that, right? And what I found was that the price. Pricing based on the size of the company did not make sense. A lot of times we're talking to small teams at a really big company. We want to be in that company. We want to sell to them. We want to have them as customers.
Starting point is 01:13:36 But in order for that to work, we have to bring that price down. But now we're going to give that whole company a license to use the product for like a small price. And so the kind of the genius unlock was just saying like, all right, this is a like, Because we were negotiating, because we had that ability to make these steps of moves, we could say, hey, you're a large company. Let's just limit this agreement to just that feature or just that application or just that part of the product. And I'm happy to give it to you for whatever, a price that seems, would seem out of fit with the size of the company, right? Right. But hopefully you like it. And hopefully like other people at the company. like see this and say, oh, I want that my part of the product or hopefully it grows.
Starting point is 01:14:27 And then we have different agreements with those teams or those other or we renegotiate this agreement next year or do whatever we have to do. But that type of thing would have been really hard to do with like a pricing calculator on our landing page or something like that. That would have been really hard to do with a number of connections per charging per connection or something like that. So it's terrible because like again, as a as a programmer, I like to automate things. As a software guy, like, I like to set up systems and nothing could be further. Yeah, it's like so inefficient to just negotiate each time through, you know.
Starting point is 01:15:06 But it's, you just got to do it. Like, otherwise you're, yeah, yeah. I think what you find your deal repeating itself, that's when you're like, okay, I've done 20 of those. Let's turn that into potentially a package or I've done like, gosh, I got to customizes this proposal again, but it's been the same thing the last 10 times. Maybe it's time to dial in that particular type if you're able to. That's where I found it. Is selling an SDK similar or exactly the same as self-hosted?
Starting point is 01:15:41 They're the same cloths and cut differently. I don't know. Oftentimes what I see with self-hosted is that there's a commercial app, right? like Century would be a great example, right? Like you have a hosted commercial version of the product that you can also self-host. I think cal.com is similar. There's a lot of these. And I think it's a good model, right?
Starting point is 01:16:03 Because you get a little bit of the best of both worlds. You get like broad adoption that will tell you what features are really important. Like there's no people will request anything. But once they start building it for themselves, then you know that they really need it. And so having some sort of open source or some sort of self-hostable path is great way to learn about your customers, if nothing else. And I think having your code be open and we're available and self-hostable, all that kind of keeps you honest.
Starting point is 01:16:37 And I think it leads to a higher quality code base, leads to a higher quality product. You can't really hide in the same ways that you can. There's reasons for it. And some people just want to, like, care about open source in ways that I wish I could I wish the model works for us as well, because I also do care about these things. But in that case, you're giving a full product, and you're saying you can put this product on your servers, right?
Starting point is 01:17:05 It's different than an SDK. The SDK is like, here's the engine, go build software on top of it. It's like the thing that you get when you get used Teal Draw is, is that engine. And of course, in order to make it easier to adopt, we've built a lot of these starter kits and modules and things like that that you can use to, for example, do multiplayer collaboration. Really good as well.
Starting point is 01:17:35 We nailed it with the backend. And that back end is not a service. That is, here's code, put it on your server, or deploy it to Cloudflare yourself. Like, I don't want to ever touch your data and I won't. But it's, yeah, like it just is all the things that are kind of sitting around this, this SDK that help move it. But like, hey, we want to build comments feature, you know, on top of Teel Draw. And is that part of Teal Draw? And I have to say, like, no, it's not part of Teal Draw.
Starting point is 01:18:11 Or can we just have Teal Draw.com, but inside of our own internal organization, I have to say, like, no. actually you have to kind of build that layer yourself. And I have to say after like four years of saying no to that, I'm having second thoughts about whether I should be saying no to that. But the interesting thing is, here's what I was talking about about like AI kind of eating SaaS products or changing the way that SaaS products work. At the beginning, the companies that were asking for Teal Draw kind of like in a box,
Starting point is 01:18:41 like can I just have like an application around this SDK? They were almost all motivated, by concerns of data sovereignty. So they were like German or like, you know, or, you know, European and they were, maybe they were part of a university or government or they just felt very strongly about this. And they were like, we can't use these SaaS products that all are based in America because of the data requirements in our country or in our organization, right? or we have to use open source software.
Starting point is 01:19:21 We have to use software that we can modify ourselves. Or they were like in air gap facilities. You know, like we're in an engineering facility that is, you know, 200 feet underground and we need to collaborate. We still need to do these things where it's still a technical team or a business. But we just can't use SaaS because we can't access the outside, you know, internet. I'm calling you from the parking lot type of, of a conversation.
Starting point is 01:19:51 That was how things, that was the type of inbound that I was getting before. And that's not very motivated. That's not very interesting. Like there is a market there, but it's not a, it's not the most interesting market to go after. I'm not going to pivot the company because of like GDPR. I don't want to be the GDPR alternative to Mero doesn't sound super, super, super interesting. It is an opportunity.
Starting point is 01:20:16 And there is actually a GDPR thing that market is and stuff that way. Anyway, whatever. These days, the reason why companies are coming to us saying, hey, we want to deal draw in a box or we want to have an application around that, is almost entirely because of AI. And the way that they describe it is, is like, we are building these really cool internal tools, these agents, you know, within the company. And they're great.
Starting point is 01:20:43 I'm summarizing pretty heavily. But they're great, but they're bottlenecked on two things. They're bottlenecked on context. How much do they have access to, essentially? And they're bottlenecked on essentially, like, agency. Like, what can they actually do? The external SaaS products, wonderful. They solved the problem, right?
Starting point is 01:21:04 The Minutemate Maid comes in the bottle. You can just drink it. You don't have to worry about, whatever. But you have no control over the API surface. you have no control over the feature set, you have no control over like what they allow you to access or do within the application. It's an example, like we use Notion.
Starting point is 01:21:23 I really like Notion. I've been using Notion for like eight years now or something like that, right? And they have an API, and that API is really good. And they have like a MCP server. And that MCP server is really good. But I noticed that they don't let you get the past versions of documents. And you can get a page, but you can get a page,
Starting point is 01:21:43 but you can't get like the history of updates to that page. It's in the, it's in the application. Like, Notion UI lets you see that. And Notion's own agent can tell you about the history of a page. But if you're using it programmatically, like with an AI MCP server or just the API, like you can't get that information. And I was trying to build a thing that would summarize, here's what changed in our notion this week. And like, that was just like the end of that story.
Starting point is 01:22:13 I could not get that information. The only other way that I was going to get that information was doing a daily cash of like, pull everything, every page that has changed. And I'm like, this is silly, right? And tail drive is a small company, right? Like that, the cost of that bottleneck is, is relatively small, right? Like I'm not relying on that agent. I'm not relying on that feature that would have used notions history to like generate revenue
Starting point is 01:22:42 for the company or something like that. was just intelligence. It would be cool for me to know. But for a lot of companies, yeah, like, the fact that maybe their entire whiteboard that they had during the onboarding session or something like that is essentially in a black hole on some, some, you know, online whiteboard SaaS product, that's a problem for them. Like, that's a big problem. They can't get that information. They can't access that knowledge. They don't know, you know, like the systems that they're building just don't work as well as they could if they had access that information. And maybe they want to write into that same situation in a way that isn't so mediated by the API surface of the SaaS product.
Starting point is 01:23:23 Anyway, those are the types of conversations that I'm having these days with teams that are looking into, okay, what would it cost, what would be reasonable if we wanted to replace this external product, this SaaS product, with something that we owned ourselves. And that's a much more interesting conversation. in my opinion. Sovereity is key in that case. I think that's a great example. I want to throw a potential target into your head.
Starting point is 01:23:52 And I might be wrong. But the next best thing to a whiteboard is a remarkable. So a personal whiteboard. And I know this very clearly because I love my remarkable. And I'm sad because it's downstairs. It's not right here. And I'm really sad about that. Because I usually like note take and doodle.
Starting point is 01:24:10 I'll write your name 17 times. It's just, I don't know, it's a muscle memory thing. You might think I'm over here not paying attention, but I'm really just drawn and having fun. It's how my brain processes. I'm an audible learner, and I learn by writing things down, as strange as that might be,
Starting point is 01:24:25 like this analog process. And so it's my personal whiteboard. The cool thing about a remarkable is that they do have a developer mode, but it's kind of like you're going off this beaten path. You kind of like, they kind of treat you a little weird in the remarkable, but it runs Linux. And so right now,
Starting point is 01:24:42 one of the things I'm doing is I wrote because it doesn't have an API, I'm like, well, I can install a go binary on there and I can act as the API because I can traverse the path and it's Linux and so I can be the, I can make my own API essentially. And so I have my, I have my own that I'm working on right now, a remarkable API that I've just dropped on this thing. And it's doing some cool stuff. But by and large, like it's sort of in this black box. And I think it's something that'll change that feature and I'll kind of be on an island again and not have my. go API remarkable thing that's sitting there doing some cool stuff for me. But this infinite canvas is totally remarkable. That's how it works. Right. And all you have to figure out is do you want to be a hardware company and do you care about E ink? Those are the two things that are really cool. Anything else you seem to be able to build upon. And I love their principles, the SDK nature, the ability to give people sovereignty over the thing that they get the bill with your tool.
Starting point is 01:25:37 Like you have that lens. You have the street cred and the reps on that. front. So if there's a market you want to compete with, I would say hardware and remarkable because they are not cheap. They're fairly expensive. 600 bucks, 500 bucks, 800 bucks is like the measure between them. But by and large, they're, they pay themselves off because like the note taking I've been able to do. It's just been tremendous more than I've ever done before. And I go back to them. But the Go SDK in particular, or sorry, the Go API I put on it is really helpful for me because it can actually take that OCR, it turn into real notes elsewhere, and do all these cool things for me that now I can throw into large language models, things that I can automate just by writing
Starting point is 01:26:19 down, but normally it would just be a piece of paper that just goes into the ether, because that's what we do with paper. You know, it sort of is this unlocked, but my suspicion is at some point they're going to change that developer mode. They're going to change how they feel about developer mode people and lock me out of that feature set because it's not core. They have remarkable cloud. They want you to pay for it. it. And I'm cool with that, except from like, that's largely overpriced. Can you just give me the device with Linux on it and let me do my own thing like I can in a computer? And their answer is no, because they want to sell you this platform, this rented platform. I think we're all
Starting point is 01:26:55 kind of pushing back on this rented platform aspect in this new era. That's why I asked you about SDK versus self-hosted because I feel like sovereignty and SDK and self-host will become the words of 26, 27, 28. Like, we're going to, we're going to all want those things because we can largely control our worlds more. I think there's something new that we're going to see. And by the way, like, boy, have I been tempted by my hardware. Well, the movie you do, put me on the list, okay?
Starting point is 01:27:24 Well, put me in the list now. If you have an Android tip, I have a daylight computer, like an Android tablet that uses a, it's not an e-ing, it's like a transfective screen, but it's black and white. And it's, uh, but it's like 60 frames per second. It's really good. And there's a new, actually the team who works on this at Android, a new Inc algorithm API in whatever Android Jetpack, new Alpha Inc thing, whatever.
Starting point is 01:27:53 Fantastic, like super good code, super fast, low latency, predictive, all that stuff, right? Think of pencil kit for Swift, but honestly better for Android. They actually came to the office to show me this stuff when they were in London. And I, last year, at some point, I vibe coded like an Android, my first, very first Android app that uses these things. Just because I wanted to draw on this daylight computer. And yeah, I flattered myself by saying, I think it's the best drawing experience that you would ever have on an Android, even at 60 frames per second,
Starting point is 01:28:34 even on a fairly low-spec piece of hardware. I just haven't released it because I'm not actually an Android developer. I don't know how to do these things. But if you do have one of those, I'll send you the insider link from the Play Store. Yeah. But no, I think that there's something actually new
Starting point is 01:28:52 that we're going to see. And every week there's a question of like, how much do I want to bet on this being true or not? Self-hostable software is also different from an SDK because the self-hostable software, it might be well architected, but it's not really designed to be extended any more than just like the application itself might be designed to be extended, right? Like, hopefully the code is good in ways that allow new features to be added without having to rip everything up.
Starting point is 01:29:24 But in the same way that like, I don't know, Excaladra, it was really hard for me to add new features to Excaladra because it was just an app, you know, like at the end of the, It was just like built like every other app that I've ever worked on. It's like kind of a little bit of complex, whatever, under the hood, but it worked. An SDK is built entirely in anticipation of third party code. And that has such a huge impact on how the thing comes together. And it's just very, very, very different type of code base than you would have with just a normal application. I've never seen that same approach taken at the level of an application.
Starting point is 01:30:05 Because why would anyone design a whole application in anticipation of third party code? Right. Like that's just not a thing that you often see on the market. And anyway, like, that's not the, like, who would buy and then build on top of like a maybe like white label solution? But even then, like you have a pretty narrow API surface layer. Right. But I could totally imagine, and then we're going to try this, but to say, okay, you know what, let's build that layer around TealDraw. With the assumption that people are going to hand this to their whatever AI coding agents and say, well, in our organization, we need this thing to be tied into HubSpot because we're constantly like sorting deals and looking at org charts. We're going to need all these extra features on top because that's that's the way that we collaborate.
Starting point is 01:31:00 Right. Those are the features that are unique to our company. Or, you know, I know that the software has organizations and then teams and then members of those teams and whatever. But in our, you know, agency or whatever, we also have a lot of external people that we need to have certain permissions. And I know that's different than what this codebase has, but like, make it happen, right? And that the, rather than using an SDK and building everything around it, you might just have these situations where like here's a, here's a CRM or here's a notion like competitor, knowledge base that works out of the box. Like you could use this kind of vanilla. But, you know, the thing that you're buying is source code. And the thing that you're buying was built with the.
Starting point is 01:31:54 expectation that you are going to build on top of it and then you're going to kind of complete it that you're going to add the water yourself you know it's just bigger it's just it's not just a little part it's not a component it's like here's the whole application and it was designed that way it was architected that way it is distributed and priced and everything like within that expectation which is different than an sdk different than a self-hostable thing and different than sass I don't know what to call it I bought the the domain mostly dot software, it's the same sort of like,
Starting point is 01:32:28 like, yeah, it's mostly complete. It's there, but like, you know, it's fundamentally unfinished because the presumption is that you, the consumer will finish it yourself. But currently not using that domain, but we'll see if I put something else out there. That's kind of the thesis. You should call your remarkable, you should call it mostly.
Starting point is 01:32:48 Mostly, yeah, mostly, almost, mostly. I don't know if that's a good name or not. Struggling. Yeah, I'd like that. I like the word mostly. Me and a friend used to say mostly a lot. It was just a thing, I guess. But contextually doesn't make any sense here, but it was funny to us.
Starting point is 01:33:01 All right. If it's a, if it can be a meme within the, within your friend's circle, then it can be a hot. Or the start least. For sure. Yeah, exactly. I know we're here like basically at the, at somewhat, I would say a version of the end because we're getting close to time. But it seems like you're at a mature state and you're in optimization. where you're like able to dial in things that you may be able to.
Starting point is 01:33:29 And so I actually had my agent do an examination of your codebase. And one of the things it thinks that you're optimizing for, and you can correct me if I'm wrong, or if they're wrong, is your optimizing, replacing low dash is equal with an optimized set comparison. So reworking your draw shape encoding to binary, things like that. And then maybe sync collaboration, maybe an enterprise play,
Starting point is 01:33:51 plugable things like that, like your SQLite storage versus Cloudflare, durable objects. Can you share any details around how you're, if that's true for one and two, if how you're optimizing? I think our backlog was a lot of optimization stuff that we knew was possible,
Starting point is 01:34:08 but we just, you know, it's not that it was low priority. It was just like, it's not feature work. And so optimization sometimes like kind of slips. That said, for the last three years, every January, we've done optimization. work. So it just sort of was the time. And a lot of the development in TLDRA also kind of ties into
Starting point is 01:34:31 honestly like our social media also is like what do I want to tweet about right now? In December, I wanted to tweet about performance. That was just like part of the messaging that I wanted to do around the canvas. We were doing this like AI stuff at the same time. I wanted to be like balancing the whimsical kind of crazy AI fairies on the canvas. I don't know if you saw this that might not make any sense, but little AI agents flying around the canvas, which is great. It was super fun. But I wanted to balance that with something that was like really grounded. And so I looked at some of these these PRs and that related to performance. And yeah, like we're doing some like super gnarly stuff of looking at like we've replaced our one of the layers of the TILT on Canvas is made of
Starting point is 01:35:22 normal, it's like a React DOM app. Like there's, everything you see is like divs and things moving around and SVGs. It's not, it doesn't use like the canvas element. It's like just normal web stuff, right? It's crazy, but it works. But we were starting to optimize the performance of the canvas by finding places where we actually could use
Starting point is 01:35:43 normal like canvas rendering in order to just reduce the cost of rendering, essentially. So all of the, overlaid. and indicators and blue shape that shows up when you hover something. We started moving that into canvas. As part of doing that, we discovered several bugs, I suppose, like places where we could optimize. One was, yeah, we were using Lodash to do a set comparison with an array.
Starting point is 01:36:10 And the way that Lodash does that is it turns the set into an array and then does the comparison, and then it's just like, so it's just making tons and tons of these fairly large arrays and it was just like a it was very wasteful so we refactored that our draw shape was storing the points the individual points using JSON just like well just normal objects right xyz z objects and we're like actually we can we make this much more efficient just by using 16-bit floats you know and having a fixed size for it would we'd still be able to pull out individual points if we
Starting point is 01:36:51 wanted to just because those the bits are known so we'd be able to like slice into different places and and but that would would change the how accurate or how precise you know the numbers are in that thing but so we'll have to change fix that problem we fix that problem all that type of stuff those are just the types of fixes that you get after like four years of working on a problem and a lot of them are just like this is the this is what you're works and lets us validate it and lets us ship it and that we feel confident in and then okay let's let's continue to kind of look at that flame chart and and you know pull up 5 000 images or 5,000 shapes and like move one of them around and be like oh hey look this thing in the flame chart
Starting point is 01:37:40 shouldn't be there where it's too big or like let's just pick the biggest problem that we can recognize and just fight it and we've been doing that for a long time and and what's really fun is that that a lot of these optimizations actually change the user experience, but in ways that aren't noticeable. So for example, if you move your mouse around, we need to find out which shape you're hovering, right? And if you move your, if you like pan, if you scroll the camera, then a shape might come under your cursor.
Starting point is 01:38:11 And so we're kind of like we need to know whether like the hovered shape is no longer under the cursor. We need to, you know, still participate in that, even though you're moving the camera. Moving the camera means that the shapes which are cold, which are off screen, might need to come back on and things like that. And so there's a lot of performance work going on. Those are really busy frames when you're panning the camera across. And we found out that, well, in certain cases, you wouldn't notice if you were hovering shapes or not,
Starting point is 01:38:44 because it would change too fast and things like that. So we could actually, under certain circumstances, just not check for hovered shapes while you're, moving the camera. As a result for that, actually on a big, big canvas, busy canvas, like that reduced like the frame length for, you know, as you're scrolling across the canvas or something, and if you flicked your track pad or something, like by, by half, you know, like that was an expensive operation on a big board, but now it's like, now we're back to 100 frames per second or 120 frames per second, which God help us is our target, right? Even with a React-based canvas, like, you know, shooting for that at eight milliseconds.
Starting point is 01:39:23 And again, yeah, like, these are those things of like, yeah, you could build this. You just wouldn't. But like, trust me, we're obsessed with the problem. Like, we will, you know. Put nails under your fingernails. Like, what's the analogy they say? Like, something about your fingernails. Like, don't do that.
Starting point is 01:39:41 Not the chalkboard. That's not the one taking about it. But like, I don't think you want to put nails under your fingernails. I think that's an interrogation technique. Yeah. Just don't do that to me. Teethics. Isn't that toothpicks?
Starting point is 01:39:53 I haven't seen your price for my organization on your license, but for the most part, I'm thinking, yeah, let's just go ahead and buy T. I'll draw. First is try and build it. Build the parts of the app that people are going to notice and attribute to you and your product and then buy everything else. That's what I do as well. Yeah.
Starting point is 01:40:12 I use clerk for off. I use whatever, Verself or DevOps and all that stuff. Like, but, but yeah, I make the canvas. Cool stuff, man. Yeah. Anything we did not get to ask you that you're like, man, I really wish you asked me about that here in this moment we're closing out. You know what?
Starting point is 01:40:31 I didn't have a chance to talk about the type of actually using the AI stuff with the canvas itself. I mentioned a little bit the fairies. I think this is going to be a big year for that. We've been kind of experimenting with everything that I've seen so far about. that type of feature set is incredibly encouraging. Like, people like chat because I can chat with you, right? I can chat with people and I'm good. I know how it works.
Starting point is 01:40:59 If a bunch of people are working on something really complex, you jump over to a whiteboard, right? And it turns out that that works so well with AI that I think this year more and more people will be just like shocked that we hadn't seen this earlier. of like, wow, this really, really, really works. Any particular, like, clear application you can mention or describe? Like, in a multi-person whiteboard scenario, I guess, and in the case, like, how does that permeate
Starting point is 01:41:31 into, how does AI fit into that? I can kind of understand, but what do you mean by that? I mean, we've had situations where, like, again, the fairies sort of represented our spatially presence AIs on the canvas that you could talk to and say, hey, you know, clean this up or tidy this up, or draw me a picture of a cat, or turn. this code into a lot of the candle yeah you see you know my content uh the but like you know we would have a our whole team jump into a board 14 people and every one of them had three of these little fairies with them and we were all collaborating together like like 14 people plus whatever uh
Starting point is 01:42:12 42 uh i's and like it was just like oh yeah this just works right how 14 people, 42 AI. I've never been on anything even close to that, you know, in terms of like collaborating with people in AI at the same time. Like we're only now starting to see like, oh, like kind of group chats with chat chit or something like that. And for that to work and for that to feel so normal, like just all the UX around the collaborative canvas
Starting point is 01:42:43 just translates almost perfectly to working with AI. It was really, really cool. The use cases where we've started seeing this already is education. Like, you know, I want to have a tutor. I want to be working on something. Teach me about this because, you know, it can build on the canvas. You can also see what you've put on the canvas. It can modify what you.
Starting point is 01:43:05 This is just like another person, right? Like all the expectations are the same. And that's like awesome. The things of like, you know, you can kind of take mermaid JS and create a diagram of it. But it's really hard. And you can even generate mermaid diagrams from code or from descriptions of a problem or something like that.
Starting point is 01:43:25 But it's really hard to get that data back into the AI as saying like, actually, no, I want to change this up and rewire this thing, right? And then to say, OK, now give me the code based on like what I've changed, right? Like we went from code to diagram. Now I want to go back from diagram to code. That's something that like an AI agent with access. to the canvas can do very easily. Like all sorts of these sort of like back and forth between the canvas and then other artifacts can absolutely do.
Starting point is 01:44:00 Just using that as an input or a reference point to like for a coding agent to say like, oh, no, here's what I want the UI to look like, you know? Or like, can you build out some next wireframes based on like what I've built here? Or can you just finish this thing that I'm making? All that stuff. And then for that to also be collaborative with other humans at the same time, I think you're going to see a lot more of it this year. And I think hopefully we have a role in that as well.
Starting point is 01:44:30 But it's, I feel very privileged because I've had these experiences. And I know that like maybe 100 people on Earth have had those types of experiences. But they're good. It's cool. You'll like it. Yeah, it'll be a thing by the end of the year for sure. What's my quickest path to the experience? How could I have that experience?
Starting point is 01:44:52 Probably the closest thing is we have a, one of our starter kits actually at Teel Draw is, it essentially looks like cursor, like a panel on the right hand side and then the canvas. If you Google like Teel Draw agent starter kit, there's a demo of that. And of course you can whatever clone it or NPM create Teel Draw and select that. select that one. But it's, uh, the only thing that that is missing is the sort of the spatial nature. There's nothing flapping around on your canvas, but it is like having a cursor style like agent next to the canvas and you can go back and forth and, you know, yeah, draw the cat and say,
Starting point is 01:45:34 whatever, make this draw a candle and make the cat blow out the candle. Or, you know, here's some code, show me it on the diet, you know, build out a state chart that represents this stuff of stuff. All right. Um, that all I can do. But we should have a, we should have fairies.tele draw.com launched by the time that you, you released this, which is our, um, we did the fairies feature on teeldraw.com for one month. And then we pulled it out. And now we're just going to kind of put it on ferries.com. It's its own little demo demo site.
Starting point is 01:46:08 So maybe that'll be out as well by the time that this launches. But if not, then soon after. Very cool. I was trying to get fat finger my way to tldrault.com. I mean, all it is is a blank canvas. People go there like, okay, cool. Kind of underwhelming, but it's also, after this conversation, very overwhelming underneath. Yeah.
Starting point is 01:46:28 If you want to learn about the SDK, you go to tildrault.gov. And we should be making it more obvious that those two things are related to each other in the near future. But you know what? Absolutely. Absolutely. TL draw. Dev, TLDrawl.com, if you just want to go right to it or do, I guess it is TLDraw. dot dev slash starter dash kits slash agent or Google it, as Steve mentioned. Thank you. Yeah, yeah.
Starting point is 01:46:57 Steve so much for, you know, fortune a new path. And I'm looking forward to the masterclass, as Jared alluded to. I know this is a micro version of it. I'd like a long version of it. If there's an email list for that, just put my name in there. I'll sign up. I want to hear more about your plans for SDK domination and how you do what you've done. Because you've clearly, you've gone down a road.
Starting point is 01:47:19 Not many people have. And you've been successful doing it. So that's pretty awesome. And thanks for being a listener and a fan and willing to spend your precious time here with us. I mean, you're not driving an agent in this moment. So you must have anxiety. Like, oh, my gosh, will these guys be shut up and let me go back to coding? You don't know that, man.
Starting point is 01:47:38 You don't know what's going on here. your work. It's time to go babysit. No, I've got I've got 15 agents, running agents in the office. All good. And yeah, I post a lot on Twitter. I should say that. If you want to follow me on Twitter or X, I'm Steve Ruiz OK.
Starting point is 01:47:58 And then TLJRA also on Twitter is like our primary way of sharing devlogs and gifts and all that stuff. Yeah, I pay attention to you on YouTube. I've checked you out several times on there. And then I loved your talk at, I think it was A World's Fair. I love that talk. Oh, yeah. It was a good talk.
Starting point is 01:48:16 I think I'm doing the one in London later this year. Maybe I'll do San Francisco. Yeah, that would make sense because it's like your backyard, basically. So, yeah, listeners, we'll link up all the things. Steve mentioned. We obviously link up to websites and Twitters slash X's slash, I don't think YouTube, maybe not YouTube, but we'll drop in the show notes for sure. We'll make sure this is in the show notes for you all.
Starting point is 01:48:36 So check the show notes if you want to go and learn more about Steve. deal draw, et cetera. Thanks again, Steve. It's awesome. Thank you. It's great meeting you both. Steve stuck around and revealed even more details on TL Draw's business. He opened up so much, in fact, that we had to bleep a small section.
Starting point is 01:48:57 It's all good, though. It gave me a great excuse to use some of BMC's newest droid sounds. That 15-minute bonus is in store for ChangeLog++ members, and if you aren't a member, check it out. change log.com slash plus plus. Thanks as always to our partners at flydoutio to breakmaster cylinder for the beats and to you for listening. We love that you stuck around all the way to the end. That's all for today. We'll talk to you next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.