# TLDraw's SDK Strategy and AI-Driven Development

**Podcast:** The Changelog: Software Development, Open Source
**Published:** 2026-02-19

## Transcript

Welcome everyone.
I'm Jared, and you are listening to the changelog, where each week we interview the hackers, the leaders, and the innovators of the software world.
On this episode, Steve Areez 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 performance web canvas.
Along the way, we discuss the excitementslash fear we share about keeping our agents busy, how SDK and infra companies are affected differently by Gentex software than SaaS companies, how Steve is approaching the coming era of internal tooling, what will happen when we equip LLMs with an infinite camus and a whole lot more.
But first, a big thank you to our partners at Fly.io, the platform for devs who just want to ship.
Build fast, run any code fearlessly at Fly.io.
Okay, Steve Reese with TL Draw on the Changelog.
Let's do it.
Well, friends, I'm here with my good friend Chris Kelly over at Augment Code.
Chris, I'm a fan.
I use Augie on the daily.
It's one of my daily drivers.
Now I use Claude Code, I use Augment Augie.
And I also use AMP code and others, but Auggy, 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.
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 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 and sort of punch above our weight because 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, 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?
How long is this sustainable in the case of Cursor or 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 um, Cursor got a lot of um publicity early on for like fast revenue growth, which well deserved.
I think, you know, frankly, some of the media got the gets the story wrong in that like if I gave you a dollar fifty for every dollar you sent me, I'd be the fastest growing startup in the in the valley.
And so when you're selling discounted tokens, yes, of course you're gonna 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, 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 it can just churn away on my well-defined plan and just never bother 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.
Right in the top there is a CLI icon, a terminal icon.
Click that, install it, and change your world.
It's gonna be awesome.
Augmentcode.com.
And Steve, I think the way it's best to kick off this spot is that we have uh had a couple Twitter DMs back and forth.
And one thing you said was uh you're kicking off this new year trying to figure out how to run a software company in the age of Clauds.
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, how what do you what do you feel when you hear that back to you?
Oh, right on.
This is just diving right in.
First off, thanks for having me on.
Uh, I was just saying, been listening to you for uh yeah, for a while for years.
Really enjoyed the conversations that I hear 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.
There are things that were on my roadmap for 2026 that I finished in the first week of 2026 that I expected to take, like, you know, be like a Q3 type of project.
Essentially, every hard part about uh having uh a startup that it has suddenly become like harder, actually.
Uh the only part that's become like easier is the actual producing of code, right?
But the alignment, the reviews, the how do I how do I position this code?
It's a 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 that someone else could make, like with a um hey Claude, could you please fix this or please add this feature?
How do I how do I report it to the compute uh community?
Um, you know, with regard to contributions and 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.
And until very recently, we we just took, you know, like we participated in that contribution um ecosystem just like an open source project would, but like that's had to change as well, and we could talk about that.
And then all the, you know, like the the communication overhead in order to know what we're all doing at the same time uh when you're running a team like this, uh, is just become harder because everyone's moving so quickly, right?
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 it it's like suddenly everyone can contribute at a at a level that is much more um impactful on the product and and can just do more of that.
It's just really hard.
I don't know.
I'm sure uh everyone else is kind of experiencing the same thing, but uh just to put a name on it, it's just it's weird and it's hard and feels very new and exciting, but um certainly weird and hard.
Weird, hard, new, exciting.
Those are great adjectives that to describe how we all feel, I think.
It's kind of funny that you mention you know the roadmap you have for the year and and in the first week, and then really just the the paradox of 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've 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 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 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 churns uh into your life in some way if you allow it to.
I mean, I think everyone's had that experience of uh uh well, I don't know, hopefully not everyone.
I've definitely had the experience of uh going to bed and being like, ah what?
I didn't skew up any work uh tonight, like while like my claws are just gonna be sitting there waiting for me to wake up in the morning.
Uh we better get them something to do.
Uh and yeah, I've I've had a a couple of chats with friends of confused partners to be like, what are you what exactly are you doing and why uh why is this important?
And um, yeah, I think especially for programmers who like, I don't know.
I like to optimize.
I like to like to play Factorio.
I like to um, you know, set up network, you know, machines that sort of run themselves.
And um, and and now that I can do that with with programming and with coding and and really other things as well.
Like uh it's hard to not do that in a way.
You almost feel ineffective to not have planned ahead to put a little uh Ralph loop going or something like that.
Yeah, I should I should write 17 specs today so that when I'm sleeping, Ralph can churn, you know, something like that.
You might as well.
It'll just be uh 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.
But somebody who's like truly steeped in the minutia of running multiple clouds, that's someone who's like truly aware of the guilt potentially that you would put on yourself for not planning ahead and not putting all the claws in the motion overnight.
Is it is it guilt, Adam?
I think it's fear.
Yeah, I guess it's uh it's a version of FOMO.
At least what I'm seeing, and Steve, you can respond because you're 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.
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, it it you're already feeling it.
I already see it.
So many announcements, so many new things, things ramping up so fast.
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, you know, if I don't have my clods running while I'm asleep, you know, somebody else does.
So I 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.
I I think that that is the thing that's a good thing.
But it's also teened with excitement as well.
Like when you're flying down that I mean, I'm just watching the Olympics.
So like 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 a like a univariate emotion.
Cause also you're like thinking, wow, look all the stuff I can do.
That's a 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 uh fearslash 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 in combination are really, really powerful and kind of remind me a lot of like gambling, you know, type of like toxic things that people will say about gambling.
Yeah, like a little danger.
And and I yeah, like I mean, uh I go through phases of uh watching TikTok a lot, and I'm currently in a in a TikTok watching phase, and somehow the algorithm is uh uh I must I must have watched one of these um uh gambling addicts talking about their their gambling addiction uh videos for more than you know 10 microseconds longer than the algorithm does.
Just long enough to get another one.
Yeah.
Exactly.
Um there's a lot of like, you know, like hey, I you you gambled away the house, you know, type of uh content, you know, where it was like, well, hey, at least I was trying, you know, like I 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 um and I think uh with and there is a lot of this sort of like fear and excitement uh mixed together and um and yeah what when using these tools and stuff absolutely I feel like uh the in the same way that I really felt the need at one time to learn TypeScript like way early you know even when it was still like a uh just part of like the Android ecosystem or not Android um 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 um if I'm good at this then then and 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 like oh well this is clearly the most important thing for me to learn and to be good at like an expert at uh and and using like AI coding assistants using these tools without a doubt, like this is the the most important.
Like if I wanted to become good at anything, this is the thing to become good at right now.
Um, not because I I'm not even sure that the industry is going to shrink in the way that we've we've talked about, but it's just like the amount of the amount of like the stuff that you can the amount of power that you can have within an organization within an industry with like just being able to say I can ship this much this fast based on this understanding and and allow us to have the time to iterate, like you know, six, seven more it's sorry, I'm I have a seven-year-old, uh six or seven more uh iterations than than I would have otherwise, you know, and 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 gotta work on 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 cloud code or something like that, uh I might become irrelevant, you know, like those those skills that I have right now just might be um, or that the things just might jump ahead so quickly that I'm 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 uh last October, and I'm thinking, like, my God, like when Alex gets back, like is it gonna like is it gonna be even possible to make that that uh will any of this make sense, right?
Still on the trip or is Alex back?
Yeah, yeah.
No, no, Alex is uh for another six months.
Okay.
I was gonna ask if he made the, you know, how it went, but yeah, still still happening.
Wow.
I mean, I 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 a programming you know background, uh, had worked on some incredible like developer products like um 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 he got back into programming AI.
This might be apocryphal, actually, now that I think I'm saying it out loud.
But like that, um on the other hand, you know, maybe it's possible to come back into this with fresh eyes without that continuity and just be like, oh yeah, clearly here's how I'm gonna use these tools.
But it is a fear of mine 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 the things that last Friday, um, I was uh you know, going into the weekend and I'm thinking, you know what, we we've been talking about doing this like comfy UI style like image pipeline uh starter kit, right?
Teal draw, it's a it's uh SDK, you we we all uh you can make anything on top of it, but uh for like infinite canvas apps, um, 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, or if you're gonna make like a uh 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 had been talking about doing one that was kind of like comfy UI.
If are you familiar with uh these types of the software?
It's like a pipeline for uh AI image generation.
So you say uh generate an image of a cat, okay, like uh generate an image of a landscape, use a mask to pull the cat out of whatever image you you generated, compose those things together, and then make all the I don't know, Instagram ads or whatever people use this stuff for.
But uh and it runs asynchronously as like a like a workflow thing.
Um we've been saying like uh you know, teal draw would be perfect for that.
Let's make a starter kit for that.
Um but we knew it would be complex, we knew it would you know be a couple of weeks of work and you know, okay.
Uh 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 uh other products uh that that kind of uh have these features and stuff.
Um come up with a minimum spec for this, the the feature set of this thing, and then just build the starter kit.
Like go for it.
And and two hours later, I remembered that I had like fired off that that Glaude to work on this, and I I've loaded up and I'm like, my God, this is like 80% done.
Like, you know, okay, uh I need to guide it, I need to, you know, make sure there's a lot of things.
There's only 80% left.
Yeah, like I didn't I still didn't write any of the code myself, but I just kind of steered the the UX of it and the architecture and stuff like that.
And we shipped it today.
Like that was uh four-day, five-day like uh uh shipping cycle for something that I really expected to take weeks of a focused one or two engineers, you know, to really get across the line.
And like that's amazing.
Like I love that.
Like that's like I like forget the fear.
Like that's just awesome.
Like I won't I want more of that.
Like I can't believe it.
Like, pinch me, you know.
Um so but how do you plan for that now that I have uh you know we we joke about having a zero backlog at Teal Draw?
Is that like uh you know we've gone through all the PRs, all the issues and stuff.
We've we identified them.
We even had different AIs like do some like research on all the bugs and everything like that.
And uh it's just like if in six months there's still any issues left, like um, like would we be surprised?
Like, like, is there any reason why we we wouldn't be able to chew through all of this stuff?
Uh either closing or ignoring or saying we're not gonna work on that, but even just building a prototype for for some of this stuff, see if see if it works.
Well, more software, more 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 uh 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 can 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 code base, which largely will just help you restructure a lot of things.
Maybe you've written it poorly, maybe Cloud wrote it poorly, maybe mover wrote it poorly, and now you gotta 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 gonna spend, I'm not gonna miss my child's birthday because I'm looking through the code.
No, I got I've deployed uh some sort of uh 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, it is it is weird.
Like I used to use this kind of um, I don't know, it's not really a trick or a mnemonic device or something like that, of just being like, hey, if I just fell off my bike and hit my head and just you know, like kind of like came to in this startup, and with these, you know, the current uh state of like our code base and the current state of our our customers and all this stuff, like um, what would I think I should would be the most important thing to work on, right?
Like to try and uh clear the just try the exercise of like clearing all the sunk cost or the momentum or the continuity and say, like, okay, if if I just started fresh right here, like what what would be the most important thing to do, or what would I do next, essentially?
And I I'm feeling like I have to do that like every six weeks now of of like okay wait hold on the the the parameters of what's possible um have has have shifted uh 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 uh has to do with our documentation our change log and and um the way that we we keep up uh communication around the the SDK and around our releases so teal draw we ship the website teal draw.com every week and then we ship the SDK every month and essentially we the dot com uh which is this free uh teal draw.com free whiteboard that people can use and please do it's really good this is a lot like Excala Dra is how people describe it very often right uh which is you know the we're we're we're we're friends don't worry about it.
You probably predate escaladra don't you no they they they predate us uh in fact one of the reasons I started working on this project was uh I had implemented a I contributed to Excellent bunch and and implemented a feature there.
And I was like, wow, this uh this code base, because it was very organically very open source kind of code base.
Uh yeah.
I'm like, this this is this was harder than it should be to 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 I could kind of see the I was already thinking in this mode just based on my other open source projects, but like I was like, I could kind of see the the outlines of an SDK, right?
Where all those things are pluggable rather than kind of hard-coded.
Um yeah, I did pull down that thread a little bit, and it turned out that there was a demand for it.
And so you had the SDK in mind from day one pretty well.
This started as, yeah, um the dot-com was and kind of always kind of still is like essentially a demo of the SDK.
Um, 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.
Um it's a good demo.
It's a good demo.
Yeah.
Um I uh luckily we we get a lot of uh the infrastructure um at reduced rates, so I'm uh so we we haven't had any pressure yet to uh do it.
But it is a good thing.
It it helps us we license the SDK, so it's awesome to have something you can send to your boss.
Um but like, yeah, we we release the the the dot com is part of the what it does, it's a demo, but it's also a place to like dog food the SDK before we ship it, right?
So it's like, yeah, let's let's have our uh half a million people just kind of fuzz test over this thing and report bugs and crashes and things like that.
Um rarely happen, but you know, it's good to give us confidence.
Uh but the communication around like, okay, here's what's in the next release, right?
That's really hard.
Uh it's really hard to maintain because like PRs are going in all the time.
You know, it requires this like manual narrative synchronization across like the team.
And I'm sure this is a problem at any team, right?
Uh, 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 Tealdraw for this next release, or this is what's happening in the code base.
But yeah, now I have an automation.
Uh the clawed code runs on a Mac mini in my living room every day that says, uh, what are the PRs that landed in the last 24 hours?
Um, what is the current state of this like next.md file.
Um, and let me just create the essentially the release notes that we would publish today if we shipped what was on main right now.
And that just happens every day and it's good.
And like we 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 uh like tests don't fail if our change log is wrong, right?
There's no way to automate around that.
Um and 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.
Um just because it's like if it's wrong, like I I won't know it.
And like it's gonna require constant like re recommitment to to the work there.
Uh 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.
Um, we need to do things that are automatable that that break loudly and and 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 can uh like update the change log.
We, you know, we like there's a lot of things that uh yeah, it just changes what what's possible, I guess.
This is all coming from somebody who, if I understand correctly, you are writing code daily.
What is that what is 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 there have been times where I've I've written less code because I don't know, we're we were fundraising or I was doing a lot of hiring or other things, right?
Like uh, or or where, you know, to my great shame, like most of the code that I wrote wrote would happen on like Saturday mornings, you know, or or evenings.
There was a bizarre time where Teal Draw went from being my nights and weekends project to my company back to being my nights nights and weekend project even though I still was running the company.
But yeah I the the 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 no to or like not now to because the uh the the time required to do it was a lot and because the the work itself was very like opinionated or very like tasty taste-based type of stuff where there it was subjective right it was like and teal draw is full of those types of things in fact that's kind of it's one of its value propositions right is that like um what is a good arrow look like I don't know a good an arrow could look like anything but you know what I know what a good arrow looks like and I I'll I will uh ensure that our arrows are are great and that's just one of those the those things amazing heroes by the way thank you the best I've ever seen it and uh the the best years of my life went into those those errors.
But yeah, like some of those things, like okay, they're 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 gonna take multiple um you know shots at this before I 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 um yeah, the 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 the times where I'm most busy.
But I feel like I can work on those features a lot better these days, um, because the the work of the programming, the 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 then doing another iteration or trying a different direction, all those things.
That that time is just compressed.
Um and so yeah, like if it is uh a kind of a design feature, design interaction or something like that, where we're not really sure how it should work, 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 the as a programmer, that stuff is 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 let's even hand off that that thing to get built by someone else.
Um or or let's take that extra time in order to review it or something.
But like uh the the the sort of the decision making within the the the design phase of of these features, like it's massively accelerated.
Um because yeah, the the I can run multiple coding agents at a time, trying different things.
I can I can analyze things really quickly.
Um yeah, just take more shots on goal, I suppose.
Do you find yourself wanting to be in those details more then?
Because like uh 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 uh 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 features for example do you find yourself sort of like lifting off the gas a little not because you can't push it down 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 uh whether I'm working if you can think of especially with teal draw because it's an SDK right kind of as a as a tree um there's the the 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 the teal draw.com being a thing that depends on the teal draw kind of core library there are these starter kits, right, that depend on on the core library, but nothing depends on them.
Fieldraw.com needs to work because like users depend on teal draw.com, right?
But but we have other things that no one uses uh I mean, like that don't have users, like the starter kits don't have users.
The uh documentation uh doesn't have the same like relationship to user data that the dot com has, things like that.
Um when uh 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 you should because it's like an opportunity to practice going full throttle, you know?
Yeah, you learn to trust the model, trend trust the system, you know, trust trust the letting go even.
Make some mistakes, like like you know, yeah, uh you might as well, because like this is a place where you can do that.
Uh and and you won't be able to do that on the the kind of the core, the more dependent upon uh parts of the the whole uh operation.
Uh the other place is like internal tools.
Uh we have like business intelligence tools that we've built for ourselves.
I can uh my my sales guys can look at uh a summary of oh, you know, which PRs are landing, you know, and like okay, put that in a language that I can under understand or something.
Like uh abstract this for me, tell me which types of customers I might even mention this to, right?
Like we're we're putting in accessibility features.
All right, well, here's how to talk about this to customers.
Um on the flip side, I can look at sales and I can see um, 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 the stuff uh that matters.
Um, and also just tell me if you know if are there any product insights that have come out of these conversations or the meeting notes, etc.
Just give me something to work with, and I can just refresh that anytime I want, um, 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 uh 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.
Now I have that.
Um, and it's not perfect, but it doesn't, it's not load-bearing either.
So it's like it's still great.
Um those internal tools are another place where we've we've just ripped, like uh, and then sometimes they're broken, sometimes they're not broken.
Like 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?
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 Bay security.
So NordLayer 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 under the right condition.
It runs on Nordlinks, that's their VPN protocol.
They built on WireGuard and deploys in under 10 minutes.
There's no hardware, there's no quota on rollout.
You just turn it on and start enforcing real policies.
And NordLayer 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 and all that good stuff, it was last updated about six months ago.
This is the upgrade you need.
You can get up to 22% off Nordlayer yearly plans, plus an extra 10% off with our coupon code changelog 10 Nordlayer.
Again, changelog dash 10 dash nordlayer.
You can try it risk-free with a 14-day money back guarantee.
Check it out.
Nordlayer.com slash the changelog.
Again, Nordlayer.com slash the changelog.
That'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 you're you're given an example here where you where things fall through the cracks, uh, not because you don't have humans evolved, because clearly you have humans evolved, but it's that the synthesizing the data out of certain artifacts has just largely been impossible, not because it's been impossible, because the 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 because you didn't have the data.
You just have the data available to you.
I didn't have the the data in a I didn't have the insights, I suppose.
I like the yes, I I think like granola, like I use granola um for my meeting notes and stuff, but I never read the meeting notes.
Uh like it's cool to know that there's a summary of of my meeting, but I just I 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 group uh to some other LLM and say, like, hey, can you can you pull out some uh you know how how do I how could I be a better how could I improve my one on ones or something like that, right?
Uh right.
Because that's that's the type of thing where normally I would need a consultant or a coach or a um, I don't know, therapist.
Maybe not a therapist, but like, you know, like I need I need some other expertise.
It's a feedback loop.
Yeah.
Yeah, like to do some real thinking about these particular artifacts, which by themselves don't really mean anything.
Like, uh, or at least don't don't mean anything to to me.
The Hubspot, you know, the the amount of information that goes through a CRM uh every day is just massive, right?
It's a working tool.
It's just like a Git, you know, uh 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.
Um, and and yeah, it's fantastic to have a essentially an army of consultants that I can just throw at all of these things uh constantly.
Here's what's interesting about your saying though, 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 granola do his thing behind the scenes and summarize 10 or 15 conversations you've had to some degree to learn, for example.
That's a that's a macro.
The micro is the day-to-day when you're in the minutiae of what is the feature, how are we moving things, you know, how I'm automating CLOT, all these things.
And you don't have to give up the other to get the other.
And I think that's a 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 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, yeah.
Uh, that you can truly understand what is possible 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 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.
Um, 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 this or help me understand it, right?
And uh just like anything else, right?
Like that's like I'll I'll 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, like that I know that I need to know for other reasons as well.
But also just like, yeah, I 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 the bottleneck is cognitive um work uh is is in a way a kind of like a luxury, right?
Like it would be very hard for me to think of things to do with like I have no problem finding use cases for using whatever uh AI models because so much of my life is is trying to get that macro, right?
It is trying to get the the uh intelligence or insights out of um out of a even with only 15 people, it's still a comp like 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, um, our analytics and all that stuff.
So at the moment I feel very, very kind of like lucky to both have the um uh a problem which can be solved and can be one well, at least can be addressed with these tools, the ability to work with those tools, uh 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 what without having it be the same scale of problem that you might have, you know, I don't know, at a Shopify or something like that.
Um which yeah, you you couldn't really fit into your head.
Or maybe you could, I don't know.
Tobias may push back on that.
If if anyone can do it, it's it's it's Toby, yeah.
I think uh speaking for the audience, uh Tobas Luke, the uh founder and CEO of Shopify, who went from bespoke uh random Ruby app store front to Shopify ICO, stock market, massive.
Which is cool.
Uh Canadian Powerhouse.
That's right.
Yeah, for sure.
A feat of nature for sure.
Tell us about the SDK business.
What is business like selling SDKs?
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, then you're probably like, stop because you're like, don't do that.
Like don't uh don't try and break new ground in terms of of anything like that.
And I think you know, similar advice with uh with go to market is that like starting a startup or just selling anything is just so hard that if you're if you if you find yourself innovating in the the go to market or if you find yourself innovating in the the thing that you're selling, like you know, you you should ask yourself, is that really what I want to be doing, you know, or or should I just be using a much more normal go to market and just focus on differentiation, product marketing, all that stuff, right?
Uh unfortunately, selling a SDK, uh there's not a lot of great examples of companies that have gotten past, you know, uh a certain size selling code, selling NPM libraries, essentially, right?
Uh and so yeah, we we find ourselves in the uh uncomfortable position of having to kind of innovate in in how you do that, right?
And experiment much more than I expected.
Um the good news is that uh we're kind of figuring it out, and that a lot of the uh and I'll talk about specifics, but like when I started, I was really scared, honestly, that like if I if I try to commercialize this thing that I sell to developers, uh then people will like not accept that right like if you if you if you require a license key in order to to to use an NPM package or something like that like then your adoption will go to zero right if you if you put a price on on on something then 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 gonna be close and we're probably gonna actually break even like this year.
Congrats.
Even with like 20 people I think we're gonna do do that this year.
But it's interesting and and I I uh some of the decisions that we made about changing our license uh about about how we um we we work with like 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 yeah when you look at some of the uh the the things that have happened this year, the kind of the big stories in open source and the big stories in like uh developer tooling, like they're not happy stories.
They're they're they're mainly stories about how AI is like really disrupting the revenue channels, the kind of traditional revenue channels uh around open core software, right?
Yeah.
Um and and that's not been the case for us.
We're our story is closer, it's not as good as superbases, but it's closer to super bases and in the fact that like models recommend us, people use us, people like us, and then people pay us, right?
Um that we're delivering value, and we have the the mechanism set up to capture the value that we're we're we're creating.
Um that's great.
Like if I were trying to sell premium features on top of teal draw, which is one of the things that one does with this type of thing, um, I would be terrified right now because oh, it's just some code on top of a known open source library.
Like I I can do that all day.
Like I could have 10 of my clouds doing that at once.
Uh but if it is, you know, like, all right.
So anyway, selling it as DK, the way that we uh we do it, um Teal Draw is we distribute it on NPM.
Again, it's like source available.
Uh you have to sign in CLA if you want to contribute.
Yeah, though it's not MIT license, it's under a essentially commercial license.
Which license did you actually choose?
You said source available.
Which one did you choose?
Was it self self-made?
I think we adapted one that Microsoft used.
I don't want to interrupt, I just wanted to get that clear when you were going through the code.
No, no, no.
I it's not.
It's the teal draw license.
It's uh I I think the the important thing is it's not H EPL.
Uh it's not um like BSL or or you know, the 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 uh either it's like fully permissive in a way that is not going to compliment complicate your next funding round.
You know, when the lawyers do due diligence and they say, hey, why why are you using this uh this library?
Do you have a license to use this library?
You know, if it's not totally compatible, like fully, you know, um, you know, don't worry about it.
It's MIT, just go go nuts.
Like do whatever you want with it.
And it's not AGPL or or GPL where where yeah, it there's requirements on the on the parent organ, like uh that that your app needs to be open source as well or something like that.
Um if if it's anything else, it's basically all the same, which is that okay, we're gonna have to have like buy a license, we're gonna have to arrange a alternative license that we can use.
So TealDraw's license is it has its like little particularities, but essentially it's uh not uh permissive in the same way that MIT or Apache is.
So yeah, there you go.
Um everything else kind of fits in the same bucket, which is like not permissive.
Anyway, what it what it is is like 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 uh adoption and even experimentation and obviously converting to a customer if you're a true if you're beyond the you know the the development.
Now you're actually in production with it, for example.
But continue.
I just want to get that clear before you make paper.
Gosh.
So we are SDK business.
This could be uh uh um the three hour fire side of uh of like how just the the story of how this thing um evolved.
Uh I'll I'll tell you the current you know what?
No, I I will actually go into uh a brief brief history of of it, right?
First, like the V1 of TLDR was MIT licensed, uh it still is if you want to use that version.
When I when I formed the company, we basically rewrote the thing.
Um and that version was like in alpha and that alpha was public under Apache license, but there was always a the statement basically like we we're probably gonna change our license when we hit 1.0, unless we just decide to do something completely different.
But if we're gonna maintain this, if this is gonna be the pro like the project uh of Teal Draw, which is the SK, like we're gonna change the license.
And and yeah, when we did uh the or the the 2.0 of that um that when we released that version of it, it was just a non-commercial license.
It's just uh like you can use this in academic work, in student work, and things that don't make money, or you know, inside of companies that that don't don't make money, I guess.
Uh, or or maybe not inside of companies.
Um, but if if you wanted to use this in a in any commercial settings, you need to buy a license.
Um, how much does that license cost?
I don't know, talk to me.
Then we we we just put that out there and cross our fingers and hoped that uh anyone would show up.
And I was shocked that a ton of people showed up.
And and we did uh almost a million dollars in in revenue in that first year with like 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 and argue that teal draw is uh a valuable thing.
Uh and we have this very simple like you can't use this in a commercial setting, you can use this in a commercial setting, you know, under under these these sort of uh uh 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 those updates uh that were released within that year, like forever.
Uh don't care.
In part I mean, it was 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.
Like if we had sold $100, a hundred thousand dollars worth of licenses with with the most generous terms possible, then uh you know, we could only sell less than that essentially with more uh more restrictive terms.
But that's 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 the six of us came up with as a uh as the way to do this that would make sense.
Is that we needed to validate this because it there was no guarantee that anyone would be willing to pay for this.
Um but yeah, by the end of that year, we had switched to uh a system where you could use teal draw even in production, even in commercial apps for free, but it had a big made with teal draw in the corner.
Um and that was our kind of like V3 uh watermark license.
If you wanted to get rid of this uh made with teal draw, then you'd have to uh buy a license.
But you could use it, anyone could use it, even in a commercial setting with this 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 uh in selling the SDK and just knowing who was using the SDK so that we could talk to them.
Uh and that little I mean there was no license enforcement for the for the V2 uh or or the V3, I think.
Um no, for the V3 there was, but uh it was all local, 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, what who is requesting this uh this little watermark uh SVG?
And 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 they're clearly using the the watermark or something like that.
Maybe they're gonna want to become customers.
Uh but it was 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 for teal 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 like in the minds of the customers, the conversations we kept on having were like, ooh, well, that sounds like a lot of money just to get rid of a little uh SVG in the corner of the canvas, right?
Is that we had essentially anchored the the price that we were charging to the pain of this little watermark rather than the value or whatever of the canvas.
Like people were building, like investing, there would be like 20 people working on top of TealDraw and stuff.
They're putting like millions into this project, but you know, that that SVG really didn't feel like more than $10,000 a year type of thing.
Um so we uh the the summer of last year we kind of did the the next iteration of of the license, which was much more restrictive, which uh said you uh you need a license key to use this thing in production.
Uh it will not work in production without a license key.
You can use it locally, that's fine.
Uh but as soon as it detects that React is in in production mode, uh, if you don't have a license key, it'll just like disappear, right?
Which was it 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 is uh student project or anything else, 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 uh evaluating it.
Here's a hundred-day license uh 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 gonna be a hobby project, I'll I'll you know, give me one of those licenses, or you talk to sales and you you, you know, if you're using this in a commercial app, you can you can uh 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, uh, was that it it allowed us to know who was using this.
Like if a if a person signs up for a uh 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 that's a person we can talk to, right?
Um, 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?
Um now, of course, the the developers who are using this, the developers who are getting at like login keys and are on our Discord and stuff, are usually not the people who decide whether to buy teal draw, right?
Like they're they're the experts who are gonna bring this into their organization.
They're the people who are gonna answer the question: how do we build this thing?
Do we build it ourselves or not?
Um, but they they don't always have the the company credit card, you know.
So uh oftentimes we don't even ever talk to the actual developer who like you know, whatever, got a license key or something like that.
We don't we don't care about that email address, but it gives us enough information in order to start looking at um, okay.
Well, who in that organization is probably running this project?
Who should we reach out to?
Um, you know, who should we try and get an intro to?
And they're yeah, I I don't have a huge sales team, but like, and I think I have a really good sales team, but that that's the type of work that they do uh in order to actually make deals happen out of this interest.
Um and all of those things currently are working really well.
And you know, we have like some like I don't know, like Google's using using Teal Draw in our product.
Uh uh Shopify is using Teal Draw and they're they're 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.
Um, it's awesome.
Like, it's it's really good to see something that I didn't think was possible at all, which is to make a um venture scale, potentially venture scale company based on um front-end tech, right?
Actually start to kind of like, you know, for the engine to at least turn over, you know?
And uh 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 we don't pay for in the sense that you don't have to live on the infrastructure, right?
The things that we don't have to care about are insane, right?
Yeah, I mean like super high margins.
For a while, the the biggest cost to teal draw, apart from developer salaries was uh DocuSign.
Um just because like the the cost of doing business for for a product like this is so low.
Um, developing it, expensive, of course.
Engineers are expensive, uh, other infrastructure is expensive.
Our biggest marketing tool, teal draw.com.
We have really great relationships with like our our cloud providers and things like that, or Cloudflare.
Uh, but you know, it's 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.
You wrote a custom CMS because the existing ones were not quite right.
You set up CI C D, you designed a component library for a site with four pages, and it's still not launched.
Oh my gosh.
That entire yank shave 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.
First, blueprint AI.
This is Squarespace's 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, Squarespace 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.
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, change log.
Save 10% off your first purchase of a website or your domain.
Once again, squarespace.com slash changelog.
You know, this is a weird uh analogy.
I just literally thought of this in this moment because I want to make this point to compare to SaaS.
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 SaaS.
And it's kind of like uh the concentrates that don't ship with the water kind of thing, you know.
I just heard that Minute Made is no longer making their uh frozen cylindrical thing that they would sell you as a concentrate anymore.
And I thought it was kind of cool because like here you got Minute Made uh shipping this thing you've had in the freezer, probably since you were a child, right?
It's not maybe that too.
Maybe a 20-year-old version of it or something like that.
Probably the same, the same tube, yeah, yeah, yeah.
Right.
But you got this concentrate in this tube that ships without the water, so you got less cost, right?
You got uh more than can fit into the case, maybe uh dramatically less weight, so a lot easier to maneuver around.
Inventory, cheaper, yeah, of course.
Yeah, all the things, right?
And now they're kaboshing 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.
You can put it in something else if you wanted to.
So this is like the SDK version of it.
I mean, I think the okay, so uh there's a there's another conversation that uh I've kind of been watching happen, which is about like the impact of uh of of AI coding and other things on SaaS is like um why why the heck would I pay for this if I could essentially build it in a weekend?
That type of thing.
Which I'm gonna I'm gonna uh I'm gonna uh prevent myself from diving right into that, even though I think it's really really really interesting.
And it will have an impact on on Teal Draw's future as well.
I I think selling an SDK, yes, absolutely.
Like our margins are are good, right?
Um it's just that the you know, the you can you can sell uh if you add the water yourself, you can sell it for three times as much, right?
And uh and the all those other problems about inventory efficiency and things like that, are they solvable problems, right?
They're complex, but they're solvable.
And I think SaaS similarly, like, oh, it'll require a lot of infrastructure.
Like, yeah, okay.
We can solve that.
Like, uh, but reliability will be a problem.
Like uh security will be a problem.
All right, we will, you know, it's we have people, we have capital, we'll we'll solve all those problems, and then we'll be able to sell our canvas, you know, like uh like like a miro or something, like sell the whiteboarding experience for millions of dollars a year for uh for enterprise, right?
Makes sense or certainly has made sense from a how hard is my life perspective, um selling an SDK is easy.
What's you know, what's your security, Steve?
I don't know, what's your security?
I'm not I'm never gonna touch your data.
Like I don't care.
Like what do you like?
I don't know what you're doing.
That's a great response.
I don't know what's your security.
Exactly.
Like I I am not involved in that problem.
Like that's the that's part of the whole point.
You can literally say, I don't know.
I don't know.
You know, like, hey, can you can you build this feature?
Like uh, well, uh no, but you you you can build that feature.
And in fact, here's how, and here's a a thousand examples of of how to do it.
And especially these days, uh, like it's trivial, you know, to to customize this stuff in in some really deep, deep ways.
Like, that's exactly what we've built this thing to do.
Um so much of the normal places where uh like like support, like all this stuff is just like it you it is crazy where we don't have to spend time compared to almost every other product that I've ever worked on, because we we are one step removed from users, right?
Like we are we're not even exposed to the same risk that the the uh our customers are, right?
Like we sell a lot into ed tech.
Ed tech is brutal.
Oh my god like you're you're you're on the line for you know the uh a government changes the way that it it distributes um you know funding within a a school district and like and you just lose that customer like or you lose all of the customers within that that state or something like that it's crazy uh how how hard those people are fighting uh nothing but respect for um people doing business and in education technology but we're not directly related like we're not as exposed to that problem as as those those customers are we're we're providing the the the tooling for them to build their product right uh and they're our customers take on that so I I suppose the investment the risk of bringing them 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 tealdraw.com you know like how many how many people have registered we're like oh I don't know like let me let me go check like oh cool it went up but like um yeah it's uh uh we've we our attention is is towards things that are um it's the the the C's are a lot calmer in in selling an SDK it's just not obvious how you sell an SDK.
Have you done a master class?
I mean we got the uh the short version here for listeners of the pod, but is there 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 because you went through a heck of a process to get there.
Yeah.
I'd I'd like to talk more about that.
And that's something that that myself and my uh I had a go to market um Phil Lowe also talk about a lot, which is that like, man, there this is new information in a way that I didn't expect to kind of be producing new information.
Kind of to back to what I said at first is like these are not the problems that anyone wants to have, but they are the problems that that we have.
Uh or the places where anyone wants to innovate, but it is a place where we've innovated.
And uh yeah, I I'd like to talk more about it.
I I I spoke recently with like the the CO of like AG Grid.
AG grid is like a data grid component.
Almost the exact same story uh as us with regard to the code to market.
100% inbound ourselves, 100% inbound, right?
Trying to change that, trying to change that, you know.
Like um figure, I mean, like we have a lot of different differences in terms of how we we price.
Uh that's that's the other, man.
Pricing is uh a really challenging part of part of this.
Um but the uh you know there's there's there are companies out there that are doing the same type of thing, but there's not a lot of like literature on it.
There's not a lot of like best practices or anything like it's still very, very new way of of running a business.
Um just on the pricing, there are so many ways of pricing of charging for like an SDK use use like this.
Um and and kind of fellow travelers here would be uh maps like map box, right?
No one's gonna build a map.
They're gonna buy that or they're gonna license it.
Text editors, data grids, um kind of charts and diagram libraries, like uh like if you're if you're doing a lot of um uh automatically laid out charts or even mermaid.js at a at a certain point you would want to be a customer of them.
It's kind of like front-end infrastructure.
Yeah.
That that needs deep thought.
It's not something you can you could probably do some of it over a weekend, but you have to have extreme institutional domain knowledge that you've obviously got.
Yeah, it's uh my my line is always like look, you guys could do this.
Like there's not, 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 we're programmers, you guys are programmers.
Like you could build teal drop.
You just I wouldn't want to.
It would take a while, and then if you got it right, let's let's Steve do that, please.
Like 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 broke like built it.
Yay, right?
Like, that's a terrible thing.
Not the best use of my time.
No, and uh and and there's there's uh enough bad canvases out there that I can point to, or at least some par canvases out there that I can point to 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?
So it's it's a strong value proposition for for companies I know that they want to use this type of thing.
But how much is that worth?
You know, 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 uh it's not half a million dollars a year.
Yeah, what was the response to that offer?
Yeah.
Well, I think that the conversation with the uh the half a million dollars a deer year guy was like uh we are a consultancy that that builds large projects, uh, and we only have one customer.
Basically, we were consultancy with one client.
And I was like, that's an interesting like uh who who is your who is your one client?
They're like, it's the US Department of Defense.
That's pretty common, actually.
Yeah.
And uh yeah, I was like, oh, okay, cool.
And they describe this project, and I'm like, man, this is like it's it's all the things that we would we would want to have.
It's like well funded, yes.
Uh uh 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.
Basically, like all of the the ticked all of the boxes of the things that would, you know, would would lead me to believe that teal draw is gonna be a like major part of the whether this deal even happens or not, right?
Whether this project happens or not.
So um 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 of apps that just would not exist without Teal Draw, just because of the kind of the lack of alternatives, number one, but 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 those people probably just would have done something else.
Um anyway, uh yeah, how much is that worth?
Well, we're we're figuring that out.
We'll talk again in a year.
I'll uh 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 seems it sounds like you're learning too about your customer, how like how your value permeates into their software stack and truly what your value is.
Like that's I think like I was kind of like taken aback 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.
I think everyone should should try that as well.
Because 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, that those those folks agreed pretty quickly to the number that I put out there.
Maybe on the next call, I'm gonna, you know, ask, ask for a bigger number, right?
And there's nothing, there's nothing wrong with that.
Like that, 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 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?
Uh, when I first started talking to customers, I would be pricing based on how big the customer was, right?
Um, and a lot of like uh 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 gonna have this um this feature in it, right?
That's gonna use the AG grid uh uh code base, right?
Or like how many times will this component load, or or how much, how many minutes will this thing be active, or how many connections or all that, right?
Uh and what I found was that the 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.
And we want to be in that company.
We want to sell to them, we want to be have them as customers.
Uh, but in order for that to work, we have to bring that price down.
But now we had well, we're gonna give that whole company a license to use the product for like a small price.
Um, 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 types 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 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?
Like 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, and then we have different agreements with those teams or those other, or we renegotiate this 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 um you know, charging per connection or something like that.
So it it's uh 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 furthered.
Yeah, it's not so inefficient to just negotiate each time through, you know.
But but it's you just gotta do it.
Uh like there's otherwise you're yeah, yeah.
I think once 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 gotta customize 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.
Yeah.
That's where I found it.
Is selling an SDK similar or exactly the same as self-hosted?
Are they the same clock and cut differently?
I don't know.
Oftentimes what I see with self-hosted is that there's a commercial app, right?
Like Sentry 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 like there's a lot of these.
And I think it's a good model, right?
Because you 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 they really need it.
Um so having some sort of open source or some sort of self-hostable path is great way to learn about your your customers, if nothing else.
Um I think having your code be open and and or available and self-hostable, all that kind of keeps you honest.
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 it's those some people just want to like care about open source in in ways that I I wish I could um I wish the model worked for us as well.
Uh 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?
Um it's different than an SDK.
The SDK is like, here's a here's the engine, go build software on top of it.
It's like the the thing that I you you get when you you get use teal draw is uh is that engine.
And of course, in order to make it easier to adopt, we've built a lot of these starter kits and and um modules and things like that that you can use to, for example, do multiplayer collaboration, really good as well.
We we nailed it with the uh the the back end, and that that backend is not a service.
That is here's code, put it on your server, or deploy it to Cloudflare yourself.
Um, like I don't want to ever touch your data and and I won't.
Um, but it's yeah, like it just is all the things that are kind of sitting around this this SDK um that that help move it.
Um but like, hey, uh, we want to build uh comments feature, you know, on top of Teal Draw.
And do you is that part of Teal Draw?
And I have to say, like, no, that's not part of Teal Draw.
Or can we just have TealDraw.com, but inside of our own internal organization, I have to say, like, like, no, actually, you have to kind of build that 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 the interesting thing is, and here's what I was talking about about like AI kind of eating SaaS products or changing the way that SaaS products work.
Um, at the beginning, the the companies that were asking for teal draw kind of like in a box, like, can I just have like an application around this SDK?
Uh, they were almost all motivated by concerns of data sovereignty.
So they were like um German, or like, you know, or uh or or or you know, European and and they were maybe they were part of a university or government, uh, or they just felt very strongly about this.
Um and they were like, we can't use these SaaS products that that all are based in America because of the data requirements in in our country or in our um organization, right?
Uh or we have to use open source software, we have to use software that we can modify ourselves.
Or they were like in air gap facilities, you know, like we're we're in an engineering facility that is uh you know 200 feet underground, and uh and and we need to collaborate, or we still need to do these these things.
We're still a technical team or a business.
Um, but we just can't use SaaS because we can't access the outside you know, internet.
I'm I'm calling you from the parking lot type of uh conversation.
Uh that that was how things that that was the type of inbound that I was getting before.
And that's not very motivating.
That's not very interesting.
Like there is a market there, but it's not a most interesting market to go after.
I'm not gonna pivot the company because uh of like GDPR.
I don't want to be the GDPR alternative to Miro doesn't sound super, super uh super interesting.
It is an opportunity, and there is actually a GDPR alternative thing that markets itself that way.
Anyway, whatever.
These days, the reason why companies are coming to us saying, hey, we want tail draw in a box or we want to have an application around that, is almost entirely because of AI.
And the the way that they describe it is like um we are building these really cool internal tools, these agents, you know, within the company, and they're great.
I'm summarizing pretty pretty heavily, but like uh they're they're great, but they're bottlenecked on two things.
They're bottlenecked on context, you know, how much do they have access to, essentially, uh, and they're bottlenecked on essentially like agency.
Like what can they actually do?
The the external SaaS products, wonderful.
They solved the problem, right?
The minute made comes in the bottle, you can just drink it, you don't have to worry about whatever.
Um but you have you have like 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.
As an example, like we use Notion.
Uh I really like Notion.
I've I've been using Notion for like eight years now or something like that, right?
And they have an API, and that that API is really good.
And they have like a uh MCP server, and that that MCP server is really good.
Um, but I noticed that they don't let you get the past versions of uh documents.
And you can you can get a page, 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 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 you can't get that information.
And I was trying to build uh a thing that would summarize here's what changed in our Notion this week.
And I like that that was just like the end of that story.
Like I could not get that information.
The only other way that I was gonna get that information was doing a daily cache of like pull everything, every page that is changed.
And I'm like, I'm like, this is silly, right?
And and tail draw is a small company, right?
Like that, the cost of that bottleneck is is is relatively small, right?
Like I'm not relying on on that agent, I'm not relying on that feature that would have used Notion's history to like generate um revenue for the company or something like that.
It 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 uh 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.
Uh that's a problem from for them.
Like that's that's a big problem.
Uh they can't get that information.
They they can't access that knowledge.
They 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 to that information.
Um maybe they want to write into that same situation in a way that isn't so mediated by uh the API surface of the the SaaS product.
Anyway, those are the types of conversations that uh I'm having these days uh with teams that are are looking into okay, what would it cost?
What would be reasonable if we if we wanted to replace this external product, this this SAS product with something that we owned ourselves.
And that's that's a much more interesting conversation, in my opinion.
Sovereignty is key in that case.
I think that's a a great example.
I want to throw a potential target into your head.
And I might be wrong, but the 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.
I'll write your name 17 times.
It's just, I don't know, it's a 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.
And that's it's how my brain processes.
I'm an audible learner and I learn by writing things down.
As strange as that might be, like this analog process.
And so it's my personal whiteboard.
Uh 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 they kind of treat you a little weird in the remarkable.
Uh, but it runs Linux.
And so right now, 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 at some point they'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 a remarkable, like 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 Inc.
Because those are the two things that are really cool.
Anything else you seem to be able to build upon, and I love the principles, the SDK nature, the ability to give people sovereignty over the thing that they get to build with your tool.
Like you have that lens, you have the street cred and the reps on that front.
So if there's a mark you want to compete with, I would say hardware and remarkable, because they are not cheap.
They're they're fairly expensive.
600 bucks, 500 bucks, 800 bucks is like the 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 uh 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 uh now I can throw into large language models, things that I can automate just by writing 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 gonna change that developer mode, they're gonna 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.
And I'm cool with that, except for I'm 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 a computer?
And their answer is no, because they want to sell you this platform, this rented platform.
I think we're all 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 gonna, we're gonna all want those things because we can largely control our worlds more.
I think there's something new that we're gonna see.
And by the way, like boy, have I been tempted uh by the hardware.
Well, the moment you do, put me on the list, okay?
Well, put them in the list now.
If you have an Android tablet, I have a daylight computer, like an Android tablet that uses uh it's not an E ing, it's like a transflective screen, but it's black and white, and it's uh but it's like 60 frames per second, and it's really good.
And uh there's a new um the the actually the the team who works on this at Android, uh a new um ink uh algorithm API um uh in in whatever Android jetpack new alpha ink thing, whatever.
Fantastic, like super good code, super fast, low latency, predictive, all that stuff, right?
Think think of pencil kit for for Swift, but um honestly better uh for Android.
Uh they actually came to the office to show show me this stuff when they were in London.
Uh and I uh last year at some point I vibe coded like uh um an Android, my first very first Android app uh that uses these things just because I wanted to draw on this uh uh daylight computer.
And yeah, I uh I I flatter myself by by saying I think it's the best drawing experience that you you would ever have on uh an Android, um, even at 60 frames per second, even on a fairly low spec piece of hardware.
Um I just haven't released it because I'm not actually an Android developer and I don't know how to do these things.
But uh if you do have one of those, I'll uh I'll send you a the the insider um uh link from the Play Store.
Uh yeah but no, I I I think that there's something actually new that we're gonna see.
Uh and I'm like every week the there's a question of like how much do I want to bet on on this being being true or not?
Um 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 uh might be designed to be extended right like like hopefully the code is good in ways that allow new features to be added without having to to rip everything up.
But in the same way that like I don't know Excalidra, it was really hard for me to add new features to Excalibur because it was just an app, you know like at the end of the day it was just like built like every other app that I've ever worked on.
It's like kind of a little bit of uh complex, whatever under the hood, but it worked.
An SDK is is built entirely in anticipation of third party code.
And and that has such a huge impact on how the thing comes together um and and it's just it's very very very different different uh type of code base than than you would have with just a normal application.
I've never seen that same approach taken at the level of an application.
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 thing, like who would buy and and then build on top of like a maybe like white label solution, but even then, like it you you have a pretty narrow API uh surface layer, right?
But I could totally imagine, and and we're we're gonna try this, but to say, okay, you know what, let's build that layer around TealDraw.
Um, with the assumption that people are gonna 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 gonna need all these extra features on top because that's that's the way that we collaborate, right?
Those are the features that are unique to our company.
Or, you know, I know that the software has uh organizations and then teams and then members of those teams or 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 uh this code base has, but like make it happen, right?
And uh that the the rather than using an SDK and building everything around it, you might just have these situations where, like, here's a here here's a CRM or here's a notion like competitor uh knowledge base that is that works out of the box.
Like you could use this kind of vanilla, but um you know, the the thing that you're buying is source code, and the thing that you're buying was built with the expectation that you are gonna build on top of it, um, and that you're gonna kind of complete it, that you're gonna add the water yourself, you know.
It's just bigger.
It's just like 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.
Uh, it is distributed and priced and everything like within that expectation, which is different than an SDK and different than a self-hostable thing, and different than SaaS.
I don't know what to call it.
I bought the uh the domain uh mostly.software.
This the same sort of like, oh yeah, it's it's mostly complete.
It's it's there, but like, you know, it's fundamentally unfinished because the presumption is that you, the end the the consumer will finish it yourself.
But currently not using that domain, but uh we'll see.
We'll see if I put something else out there.
That's kind of the thesis.
You should call your uh your remarkable, you should call it mostly.
Mostly.
Yeah, mostly.
Almost mostly I don't know if that's a good name or that.
Struggling.
Yeah, I don't know.
I like the I like the word mostly.
Me and a friend used to say mostly a lot.
It was just a thing, I guess.
But uh contextually doesn't make any sense here, but it was funny to us.
All right.
If it's uh if it can be a meme within the uh within your friend circle, then it can be uh star at least for sure.
Yeah, exactly.
I know we're here like basically at the uh 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 uh you may be able to.
And so I actually uh had my agent do a little examination of your code base, 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 you're 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, pluggable things, 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 uh how you're optimizing?
I think our backlog was a lot of optimization stuff that we knew was possible, 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 we've done optimization work.
So it just sort of was the time.
Uh and a lot of the development of TLDR also kind of ties into 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.
So that was just like part of the messaging that I wanted to do around the the canvas.
Um we were doing this like AI stuff at the same time.
I wanted to be like balancing the 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, uh, which is great.
It was super fun, but I wanted to balance that with something that was like really grounded.
And so I um I looked at some of these these PRs.
Uh and uh that that related to performance.
And yeah, like we're we're doing some like super gnarly stuff of looking at um, like we've replaced our uh uh one of the layers of like TLJR canvas is made of normal, it's like a React DOM app.
Like there's it everything you see is like divs and and and things moving around and SVGs.
It's not it doesn't use like the canvas element, it's like uh just normal web stuff, right?
Which is crazy, but it it works.
Um but we were starting to optimize the performance of the canvas by finding places where we actually could use normal like canvas rendering in order to just reduce the cost of rendering, essentially.
So all of the overlays and indicators and you know blue shape that shows up when you hover something, we started moving that into into Canvas.
As part of doing that, we discovered a uh uh several bugs, I suppose, like places where we could optimize.
Um, one was, yeah, we were using Lodash to do a set comparison with an array, and the way that Lodash does that is it turns the set into an array and then does the comparison, and then and it's just like so it's just making tons and tons of these fairly large arrays.
Uh 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?
X, Y, Z objects.
Uh, and we're like, uh actually we can we can make this much more efficient just by using 16-bit floats, you know, and and having a fixed size for it, would we still be able to uh pull out individual points if we wanted to, just because those the the bits are known.
So we'd be able to like slice into different places.
Um and and but that would would change the uh 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.
Uh though 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 works and lets us validate it and lets us ship it, and that we 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, uh oh, oh hey, look, this thing in the flame chart 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.
Um we've been doing that for a long time.
Um and and what's really fun is that a lot of these optimizations like actually change the user experience, but in ways that aren't noticeable.
So for example, uh if you move your mouse around, we need to find out which shape you're hovering, right?
Um and if you if you move your, if you like pan, if you scroll the camera, then you know a shape might come under your your cursor.
And so we're kind of like we 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.
Uh and so there's a lot of performance work going on.
Those are really busy frames when you're panning uh the camera across.
Um we we found out that, well, in certain cases, you wouldn't notice if you were hovering shapes or not, 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 the like the frame length for uh you know, as you're scrolling across the canvas or something, if you flicked your trackpad 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 our target, right?
Even with a React-based uh uh canvas, like you know, shooting for that that at eight milliseconds.
Um 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 we will, you know.
Yeah.
Put nails under your fingernails, like, what's the what's the the analogy they say?
Like something about your fingernails, like, don't do that.
Not the chalkboard, that's not the one to do that.
So, like, I don't think you want to put nails under your fingernails.
I mean, don't get it.
I think that's an interrogation technique.
Uh just don't do that to me like this.
You know, I haven't seen your price for for my organization on your license, but for the most part, I'm thinking, yeah, let's just go ahead and buy teal draw.
Uh versus try and build it.
Build the parts of the app that people are gonna notice and attribute to you and your product, and then buy everything else.
That's that's that's that's what I do as well.
Uh I I use Clerk for auth, I use whatever, uh Vercel for DevOps and all that stuff.
Like uh, 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 in this moment we're closing up.
You know what?
I uh I didn't have a chance to talk about the uh the type of actually using the AI stuff with the canvas itself.
Uh I mentioned a little bit the the fairies.
I think this is gonna be a big year for that.
We've been we've been kind of experimenting with everything that I've I've seen so far about the 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.
If it if if a bunch of people are working on something really complex, you jump over to a whiteboard, right?
Uh and it turns out that that works so well with AI that uh I think this year more and more people will be just like shocked that we hadn't seen this earlier.
Like of like, wow, this really, really, really works.
Any particular like clear application you can mention or describe?
Like in a in a multipersonal whiteboard scenario, I guess, and in the case, like how does that permeate into how does the AI fit into that?
I can kind of understand, but what do you mean by that?
I mean, we we've had situations where like uh again, the the fairies sort of represented our our spatially present 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 blow out the candle.
Blow out the candle, yeah.
You see you know my content.
Uh the uh 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 14 people plus whatever, uh 42 uh AIs.
And like it was just like, oh yeah, this just works, right?
14 AI 42 AIs.
I I've never been like on anything even close to that, you know, uh 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 uh ChatGPT or something like that.
Uh and for that to work and for that to feel so normal, like like just all the the UX around the collaborative canvas just translates almost perfectly to working with AI.
It was really, really cool.
The the use cases where we we've started seeing this already is education, like uh, you know, I want to have a tutor, I want to be working on something, teach me about this, uh, because you know it can it can build on the canvas, it can also see what you've put on the canvas, it can modify what you this is just like another person, right?
Like all the expectations are the same.
And that's that's like awesome.
Uh the things of like, you know, you can kind of take mermaid di uh JS and create a diagram of it, but it's really hard, and you can even generate mermaid diagrams from from code or from descriptions of a problem or something like that.
But it's really hard to get that data back into the AI of saying, like, actually, no, I want to change this up and rewire this thing, right?
Uh, and then to say, okay, 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 to code.
Uh that's something that like an AI agent with access to the canvas can do very easily.
Um like like all sorts of these sort of like back and forth um between the canvas and then other artifacts can can absolutely do.
Just using that as an input or a reference point to like uh for a coding agent to say, like, oh no, here's here's what I want the UI to look like, you know.
Um 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 and then for that to also be collaborative with other humans at the same time, is you're gonna I think you're gonna see a lot more of it this year, and uh, I think hopefully we have a have a role in that as well.
But it's um it I I feel very privileged because I've had these experiences, and I know that like uh maybe a hundred people on Earth have had those types of experiences.
Uh uh, but they're they're good.
Like it's cool.
You'll like it.
Yeah, it'll be a thing by the end of the year for sure.
What's what's my quickest path to the experience?
How can I have that experience?
Probably the closest thing is we have a one of our starter kits actually at Teal Draw is it essentially looks like cursor, like a panel on the right hand side, and then the canvas.
Um if you Googled like Teal draw agent starter kit, there's a demo of that.
Uh and of course, you can whatever clone it or you know, npm create teal draw and then and select that one.
Um, 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 uh whatever, make this draw a candle and make the cat blow out the candle.
Right.
Or you know, here's some code, show me it on the diet, you know, build out a state chart that represents this type of stuff.
All right.
Um we should have uh we should have fairies.tl draw.com launched by the time that you uh you release this, which is our um we we did the fairies feature on tealdraw.com for one month, uh and then we pulled it out, and now we're just gonna kind of put it on fairies.tl draw.com as its own little uh demo demo site.
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 Tlddraw.com.
I mean, I all it is is a blank canvas.
People go there like, okay, cool.
Kind of kind of underwhelming, but it's also after this conversation, very overwhelming underneath.
Yeah.
If you want if you want to learn about the uh the SDK, you go to TLDraw.dev.
Uh, and and we should be we making it more obvious that those two things uh are related to each other in the near future.
But you know what?
Absolutely.
Tlddraw.dev, tl draw.com if you just want to go right to it, or do I guess it is uh tlddraw.dev slash starter dash kits slash agent or google it as Steve mentioned.
Thank you.
Yeah, yeah.
Steve, so much for uh you know, Fortune a new path.
And uh I'm looking forward to the master classes, Jared alluded to.
I'll I'll 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 I'll sign up.
I want to 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 not many people have, and you've been successful doing it.
So that's pretty awesome.
And uh thanks for being a listener and a fan and willing to spend your precious time here with us.
I mean, you're not driving the agent in this moment, so you must have anxiety like, oh my gosh, will these guys please shut up and let me go back to coding my You don't know that, man.
You don't know what's going on.
It's time to go babysit.
No, I've I've got I've got 15 agents uh running agents in uh in the in the office.
Um all good.
Uh and yeah, yeah I post a lot on Twitter.
I should say that.
Uh if you want to follow me on uh Twitter or X, I'm Steve Ruiz okay.
And then Tealdraw also on Twitter is like our primary way of sharing devlogs and gifts and all that stuff.
So yeah, I pay attention to you on on YouTube.
That's uh I've checked you out several times on there.
And then I loved your talk at uh I think it was AI World's Fair.
I love that talk.
Oh, yeah.
Um this is a good talk.
I think uh I think I'm I'm doing the one in London later this year.
Maybe I'll do San Francisco again.
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 uh obviously link up to websites and Twitters slash X's slash, I don't think YouTube, maybe not YouTube, but we'll drop it in the show notes for sure.
Uh we'll make sure that's in the show notes for you all.
So check the show notes if uh if you want to go and learn more about Steve, TL draw, etc.
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.
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 Plus Plus members.
And if you aren't a member, check it out at Changelog.com slash plus plus.
Thanks as always to our partners at fly.io 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.
