Selling SDKs in the era of many Claudes (Interview)

19 Feb 2026 · 1 h 50 min · 46 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

Podcast Notes: Selling SDKs in the Era of Many Claudes (Interview with Steve Ruiz)

Episode Overview

  • Podcast Title: The Changelog: Software Development, Open Source
  • Episode Title: Selling SDKs in the Era of Many Claudes
  • Host: Jared
  • Guest: Steve Ruiz
  • Episode Description: A deep dive into tldraw, a free whiteboard tool, and the business of selling SDKs that allow others to build applications using tldraw's high-performance web canvas.

Key Topics Discussed

  1. Introduction to tldraw
  2. tldraw is described as a highly efficient web-based whiteboard tool.
  3. Ruiz discusses the business model of selling SDKs that allow others to create various applications using tldraw's canvas.
  1. Challenges of the Current Software Landscape
  2. Discussion on the excitement and fear regarding AI and agent-based software:
  3. Maintaining productivity and keeping agents busy has become a new challenge for developers.
  4. There's a perception that the rapid pace of change in software development presents both opportunities and pressures.
  1. Differences Between SDK and SaaS Companies
  2. Ruiz contrasts the effects of agentic software on SDK (Software Development Kit) companies versus SaaS (Software as a Service) companies:
  3. SDK companies may face different challenges due to the nature of their products and user engagement.
  4. The discussion sheds light on how internal tooling is evolving in various companies.
  1. The Future of Internal Tooling
  2. Ruiz shares insights on internal tooling, suggesting a shift towards tools that integrate deeper with company infrastructure.
  3. Discusses the potential of Large Language Models (LLMs) working within an infinite canvas for enhanced productivity and collaboration.
  1. Embracing Change and Optimization
  2. Ruiz reflects on the rapid pace of tech evolution, expressing the need for companies to adapt quickly.
  3. He discusses the optimization of tldraw, including:
  4. Reducing rendering costs.
  5. Efficiently utilizing technology like WebGL for better performance.
  6. The ongoing process of feature enhancements based on user feedback.
  1. The Business of Selling SDKs
  2. Selling SDKs involves unique challenges:
  3. Ruiz highlights the need to innovate in go-to-market strategies as there are few established models for SDK sales.
  4. Discusses how the licensing structure has evolved from permissive models to more commercial setups to better support revenue generation.
  1. Experience with AI
  2. The integration of AI in the tldraw ecosystem is discussed, especially in the context of collaborative projects.
  3. Ruiz emphasizes the potential of AI agents to enhance user experience and facilitate new forms of interaction on the canvas.
  1. Future Aspirations
  2. Ruiz expresses a desire to continue pushing the boundaries of what tldraw can achieve, particularly in the context of AI and collaboration.
  3. The concept of 'fairies' as AI assistants on the canvas is explored, presenting a vision for more integrated and intelligent tools.

Key Takeaways

  • The software landscape is rapidly changing, with AI and agent-based tools offering new opportunities and challenges.
  • SDK companies must innovate their business models to capture value in an evolving market.
  • Collaboration between AI and human users in creative environments can lead to unprecedented levels of productivity.
  • Continuous optimization of products is crucial for maintaining a competitive edge and improving user experiences.

Quotes

  • "It’s a weird time to be a programmer; things that were on my roadmap for years are being completed in weeks."
  • "Selling an SDK is easy compared to the complexities of a SaaS model."

Final Thoughts The episode highlights the dynamic nature of software development in the age of AI and the importance of adapting business models to leverage new technologies effectively. Steve Ruiz's insights into running an SDK company, optimizing product performance, and embracing collaborative AI tools provide valuable lessons for developers and entrepreneurs alike.

Additional Resources

  • tldraw: [Visit tldraw](https://tldraw.com)
  • tldraw SDK Documentation: [Visit tldraw.dev](https://tldraw.dev)
  • Follow Steve Ruiz on Twitter: [@SteveRuizOK](https://twitter.com/SteveRuizOK)

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

Navigating the Era of Claude

4:23 to 7:14

Discussion on the challenges of running a software company in the AI age.

“So how do you feel about that statement?”

The Paradox of Choice in Programming

7:15 to 11:02

Exploring the paradox of choice in software development and the impact of AI tools.

“Those are great adjectives to describe how we all feel, I think.”

Fear and Excitement in Tech Advancement

11:03 to 14:00

Examining the mix of fear and excitement in keeping up with rapid tech changes.

“But it's also teamed with excitement as well.”

Navigating Skill Relevance in Tech

14:00 to 15:00

Learn about the importance of keeping skills updated in a fast-paced tech world.

“Six or seven more iterations than I would have otherwise.”

The Experience of Returning to Coding

15:00 to 16:00

Understand the challenges and insights of returning to coding after a hiatus.

Innovating with AI in Software Development

16:00 to 17:40

Discover how AI tools can accelerate software development and innovation.

“like I won't be able to make sense of that next jump.”

Managing a Zero Backlog

17:40 to 19:00

Explore strategies for maintaining a zero backlog in software projects.

“this, this thing, and then just build the starter kit, like go for it.”

Applying Deterministic Testing in Development

19:00 to 21:10

Learn about the role of deterministic testing in improving code quality.

“Is there any reason why we wouldn't be able to chew through all of this stuff?”

Reevaluating Development Priorities

21:10 to 23:00

Understand how to reassess project priorities in a changing tech landscape.

“And I'm feeling like I have to do that like every six weeks now of like, okay, wait, hold on.”

TealDraw: The SDK and Its Growth

23:00 to 24:00

Discover how TealDraw evolved as an SDK and its user engagement strategy.

“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.”
Show all 46 chapters

Challenges of Communication in Release Management

24:00 to 26:10

Explore the difficulties of maintaining clear communication in software releases.

“It's a demo, but it's also a place to, like, dog food the SDK before we ship it, right?”

The Balancing Act of Coding and Leadership

26:10 to 28:00

Learn how to balance coding responsibilities with leadership roles in tech.

“And we didn't do intentionally from a strategic level.”

Understanding Design Feature Challenges

28:00 to 29:05

Explore the complexities and iterations involved in developing design features.

“It was like, and Teodra is full of those types of things.”

The Acceleration of Decision Making

29:05 to 30:21

Learn how programming and design decision-making processes have become faster.

“But I feel like I can work on those features a lot better these days because the work of the programming, the work of getting it to a point where I can like say that's we're going in the right direction or not.”

Navigating SDK Dependencies

30:21 to 31:39

Discover the relationship between core libraries and their dependent tools in SDK development.

“I think it depends on whether I'm working, if you can think of, especially with TealDraw because it's an SDK, right?”

Leveraging Internal Tools for Efficiency

31:39 to 33:27

Understand how internal tools can streamline data analysis and decision-making.

“I mean, they don't have users, like the starter kits don't have users.”

Empowering Insights Through AI

35:50 to 38:25

Explore how AI tools provide insights that enhance decision-making processes.

“You just have the data available to you.”

Balancing Micro and Macro Perspectives

38:25 to 41:33

Learn the importance of managing both detailed tasks and broader insights.

“And I think that's a, that's a unique position to be in.”

Insights on the SDK Business Landscape

41:33 to 42:00

Gain insights into the challenges and strategies of selling SDKs.

“Which, yeah, you couldn't really fit into your head.”

Navigating the SDK Business Model

42:00 to 44:38

Learn about the challenges of selling SDKs and the author's experiences with market adoption.

“bespoke random Ruby app store front to Shopify, ICO, stock market, massive, which is cool.”

Choosing the Right License for SDKs

44:38 to 48:56

Discover the importance of selecting a proper license for SDK distribution and its impact on users.

“They're mainly stories about how AI is really disrupting the revenue channels, the traditional revenue channels around open core software.”

Evolving TealDraw's Licensing Strategy

48:56 to 56:01

Hear about the evolution of TealDraw's licensing from open source to commercial, and the reasoning behind these decisions.

“First, like the V1 of Tealdraw was MIT licensed.”

Sales Strategies for Teal Draw

56:01 to 58:09

Learn how the Teal Draw team approaches sales and customer outreach.

“But they don't always have the company credit card, you know?”

SDK vs. SaaS Business Models

1:01:02 to 1:04:45

Explore the differences and challenges between selling SDKs and SaaS.

“I just literally thought of this in this moment because I want to make this point to compare to SAS.”

Challenges and Pricing in SDK Sales

1:04:45 to 1:10:05

Understand the pricing strategies and challenges faced in SDK sales.

“ever worked on because we are one step removed from users, right?”

Introduction to the Client and Project

1:10:05 to 1:10:58

Learn about the unique client experience and project expectations.

“Basically we were a consultancy with one client.”

Understanding the Value Proposition

1:10:59 to 1:11:43

Discover how to negotiate and understand value during sales talks.

“So those people probably just would have done something else.”

Pricing Strategy Insights

1:11:44 to 1:13:44

Explore innovative pricing strategies for SDKs based on user needs.

“Like, that's, I think, like I was kind of like taking it back by your desire to negotiate every deal.”

Self-Hosted vs. Commercial Applications

1:13:45 to 1:16:30

Understand the differences and advantages of self-hosting solutions.

“And I'm happy to give it to you for whatever, a price that would seem out of fit with the size of the company, right?”

Motivations for Custom Software Solutions

1:16:31 to 1:18:29

Examine why companies seek custom software for data sovereignty.

“And I think it leads to a higher quality code base, leads to a higher quality product.”

Challenges with SaaS Limitations

1:18:30 to 1:23:44

Delve into the challenges faced when relying on external SaaS products.

“At the beginning, the companies that were asking for TealDraw kind of like in a box, like, can I just have like an application around this SDK?”

Personal Experience with Remarkable Technology

1:23:45 to 1:24:00

Hear about personal projects related to integrating technology for productivity.

“I want to throw a potential target into your head.”

Exploring the Remarkable Device and Its Limitations

1:24:00 to 1:25:48

Discussion about the Remarkable tablet, its developer mode, and potential limitations.

“And I know this very clearly because I love my remarkable, and I'm sad because it's downstairs.”

The Future of SDKs and User Sovereignty

1:25:48 to 1:27:09

The importance of SDKs and self-hosted solutions in software development discussed.

“They're, they're fairly expensive, 600 bucks, 500 bucks, 800 bucks is like the, the measure between them.”

Innovative Drawing Experience on Android

1:27:09 to 1:28:45

Creation of a drawing app for Android leveraging new ink algorithms.

“Like, we're going to all want those things because we can largely control our worlds more.”

Understanding SDKs vs. Self-Hosted Solutions

1:28:45 to 1:30:16

A deep dive into the differences between SDKs and self-hosted software architectures.

“But no, I think that there's something actually new that we're going to see.”

Building Applications with Extensibility in Mind

1:30:16 to 1:32:22

Discussion on designing applications with extensibility and user customization as priorities.

“And anyway, like, who would buy and then build on top of like a maybe like white label solution?”

Personal Reflections on Software Development

1:32:22 to 1:33:11

Lighthearted comments regarding the naming of projects and their implications.

“I bought the domain, mostly.software is the same sort of like, oh yeah, it's mostly complete.”

Optimization Strategies in Software Development

1:33:11 to 1:34:27

Insights into practical strategies for code optimization within a software project.

“I know we're here basically at somewhat, I would say, a version of the end because we're getting close to time.”

Performance Improvements in TLDRA

1:34:27 to 1:38:00

Details on specific performance improvements and optimizations in the TLDRA project.

“It's like, what do I want to tweet about right now?”

Performance Optimization in Canvas Applications

1:38:00 to 1:39:15

Learn about optimizing performance in canvas applications while panning and scrolling.

“And if you move your, if you like pan, if you scroll the camera, then, you know, a shape might come under your cursor.”

Building vs. Buying Software Components

1:39:15 to 1:40:24

Discover strategies for deciding when to build features versus purchasing them.

AI Integration in Collaborative Tools

1:40:24 to 1:42:05

Explore how AI can enhance collaboration in tools like canvas applications.

“that here and in this moment we're closing you know I uh I didn't have a chance to talk about the type of actually using the AI stuff with the Canvas itself.”

AI as a Collaborative Partner

1:42:05 to 1:43:19

Understand how AI acts as a partner in collaborative scenarios, especially in education.

“And we were all collaborating together, like 14 people plus whatever, 42 AIs.”

Creating Interactive Diagrams with AI

1:43:19 to 1:44:34

Learn about generating and modifying diagrams with AI assistance on canvas platforms.

“And you can even generate mermaid diagrams from code or from descriptions of a problem or something like that.”

Teal Draw's Features and Upcoming Launches

1:44:34 to 1:45:54

Get insights on Teal Draw's features, including upcoming demos and improvements.

“I've had these experiences and I know that like maybe a hundred people on earth have had those types of experiences, but they're, they're good.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:08Welcome everyone, I'm Jared and you are listening to the Change Log Log. where each week we interview the hackers, the leaders, and the innovators of the software world. On this episode, Steve Ruiz joins us for a deep dive on TL Draw, a very good free whiteboard, and the business he's built selling SDKs that help others build very good whiteboards and more with TL Draw's high-performance web canvas. Along the way, we discuss the excitement slash 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 canvas, and a whole lot more.

0:50But 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 Ruiz with TL Draw on the changelog. Let's do it.

1:09well 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 cloud code i use augment augie and i also use amp code and others but augie i keep going back to it and here's where i'm at i feel like not enough of our audience knows about augment code not enough about augie the cli it's amazing i love it 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 to the product itself, you know, with our context engine, once you do touch it, people are like just blown away by that.

1:58And 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 Cursor got a lot of publicity early on for like fast revenue growth, which well deserved.

2:38I think, you know, frankly, some of the media gets the story wrong and that like, if I gave you$1.50 for every dollar you sent me, I'd be the fastest growing startup in the valley. And so when you're selling discounted tokens, yes, of course, you're going to grow very fast. But all that money plus more goes to the model providers. So I think the real story is the story of Anthropic and, you know, being an API provider. I think the market has just moved so fast and there's so many pieces of competition out there that it's just hard to get noticed. So friends, I love Augment Code and I love using Augie and I highly recommend you use it.

3:15I 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.

3:57It's going to be awesome. Augmentcode.com.

4:22friends we're here with steve ruiz and steve i think the way it's best to kick off this pod is that we have had a couple twitter dms back and forth and one thing you said was you're kicking off this new year trying to figure out how to run a software company in the age of clods 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?

4:58Yeah, right on. Let's just dive in right in. First off, thanks for having me on. I was just saying, I've been listening to you for, yeah, for a while, for years. Really enjoyed the conversations that I hear here. Yeah. Running a company. So it is a It's 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. 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, be like a Q3 type of project. Essentially every hard part about having a startup that it has suddenly become like harder actually.

5:36The only part that's becoming easier is the actual producing of code, right? But the alignment, the reviews, the how do I position this technical product? I sell the code, right? How do I make sure that 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, hey, Claude, could you please fix this or please add this feature? How do I comport to the community? with regard to contributions and issues and things like that. Tealdraw is not open source in the normal sense. It's not like MIT licensed, but it is open.

6:16It is source available. And until very recently, we just took, you know, like we participated in that contribution ecosystem just like an open source project would. But like that's had to change as well. We could talk about that. And then all the, you know, like the communication overhead in order to know what we're all doing at the same time when you're running a team like this is just become harder because everyone's moving so quickly. Right. 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.

6:53It's like suddenly everyone can contribute at a level that is much more impactful on the product and can just do more of that. It's just really hard. I don't know. I'm sure everyone else is kind of experiencing the same thing, but just to put a name on it, it's just, it's weird and it's hard and feels very new and exciting, but certainly weird and hard. Weird, hard, new, exciting. Those are great adjectives to describe how we all feel, I think. It's kind of funny that you mentioned, 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.

7:28Cause when you have a to-do list that gets done in a week or two, well, now you have a lot more choice because you maybe actually might have less potentially because you didn't plan well enough to have a, an exhaustive list. But it, for me, it's like a paradox of choice where you have so much to choose because you can go so many different directions and, you know, without maybe some prior knowledge or some wisdom, you can sort of get lost in the, oh my gosh, I could do so much. So I should do so much. So I do so much. And then you get this cycle that sort of just turns into your life in some way, if you allow it to.

8:05I mean, I think everyone's had that experience of, well, I don't know, hopefully not everyone. I've definitely had the experience of going to bed and being like, ah, what? I didn't queue up any work, uh, tonight. Like while like my clods are just going to 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 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.

8:42I like to, I like to play Factorio. I like to, you know, set up network, you know, machines that sort of run themselves. And, and, and now that I can do that with, with programming and with coding and really other things as well, like it's hard to not do that in a way. You almost feel ineffective to not have planned ahead to put a little Ralph loop going or something like that. You know, I should, I should write 17 specs today so that when I'm sleeping Ralph can churn, you know something like that might as well it'll just be a 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 clause that we're in and the era of ai-assisted development and all that stuff but somebody who's like truly steeped in the minutiae of running multiple clause 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 clods in the motion overnight.

9:45Is it, is it guilt, Adam? I think it's fear. Yeah, I guess it's a version of FOMO. At least what I'm seeing, and Steve, you can respond because 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 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.

10:20I mean, you're already feeling it. I already see it. So many announcements, so many new things, things ramping up so fast. I think there'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 claws running while I'm asleep you know somebody else does so that 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?

10:59Somebody else is, yeah. Right. Yeah, I think that that is the thing that's chasing. But it's also teamed 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 like a univariant emotion because also you're like thinking, wow, look at all the stuff I can do. That's, that's an amazing opportunity.

11:30If 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, fear slash excitement. This is why we use all the adjectives right now. Cause 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. Very much. Yeah. Like a, mm-hmm, a little danger. And I, yeah, like, I mean, I go through phases of watching TikTok a lot and I'm currently in a, in a TikTok watching phase and somehow the algorithm is, I must, I must have watched one of these gambling addicts talking about their, their gambling addiction videos for more than, you know, 10 microseconds longer than the algorithm.

12:14Just long as to get another one. Yeah, exactly. and there's a lot of like you know like hey I you gambled away the house you know type of 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, and yeah, when using these tools and stuff, absolutely. I feel like 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, just part of like the Android ecosystem or not Android.

13:01What 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. Um, and there, there've 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 not because I'm not even sure that the industry is going to shrink in the way that we've talked about but it's just like the amount of 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 allow us to have the time to iterate like six, seven more.

14:08Sorry, I'm a seven year old. Six or seven more iterations than I would have otherwise. You know, and we deliver this stuff that would have remained on the backlog, like so much faster and everything like that. Like just so high impact, like so high. Right. Absolutely. you got to 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.

14:50That'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 yeah 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 yeah yeah no no alex is kayaking for another six months okay i was gonna ask if you made the you know how it went but yeah still still happening wow i mean i do think it's interesting that 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, had worked on some incredible like developer products like before, but like, had also been on a essentially in retirement, like not looking at computers type of thing until, I don't know, six months ago, nine months ago, when he got back into, into programming AI.

15:45This might be apocryphal, actually, now that I think I'm saying it out loud, but like that, 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, clearly here's how I'm going to 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 things that last Friday, I was, you know, going into the weekend and I'm thinking, you know what, we've been talking about doing this like comfy UI style like image pipeline starter kit, right?

16:21TealDraw, it's a SDK. You can make anything on top of it, but for like infinite canvas apps. But we also have like starter kits for, hey, if you're going to make like a workflow tool, here's like a workflow starter kit. Or if you're going to 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'd been talking about doing one that was kind of like comfy UI. Are you familiar with these types of the software? It's like a pipeline for AI image generation. So you say, generate an image of a cat. Okay. Like generate an image of a landscape, use a mask to pull the cat out of whatever image you generated, compose those things together, and then make all the, I don't know, Instagram ads or whatever people use this stuff for.

17:08and it runs asynchronously. It's like a workflow thing. And we've been saying, like, you know, TealDraw would be perfect for that. Let's make a starter kit for that. But we knew it would be complex. We knew it would be a couple of weeks of work and, you know, okay. But last Friday, I'm just like, you know what, Claude, I can describe this to you. I can point you to, you know, six or whatever, a number of other products that kind of have these features and stuff, you know, come up with a minimum spec for this, the feature set of this, this thing, and then just build the starter kit, like go for it.

17:45And two hours later, I remembered that I had like fired off that, that clawed 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. I need to guide it. I need to, you know, make sure that it's only 80 % left. Yeah. Like I still didn't write any of the code myself, but I just kind of steered the UX of it and the architecture and stuff like that. And we shipped it today. Like that was a four day, five day, like a shipping cycle for something that I really expected to, to take weeks of a focused one or two engineers, you know, to, to really get across the line.

18:24And like, that's amazing. Like, I love that. Like, that's like, forget the fear. That's just awesome. I want more of that. I can't believe it. Pinch me. But how do you plan for that now that I have we joke about having a zero backlog at TealDraw. We've gone through all the PRs, all the issues and stuff. We've identified them. We even had different AIs do some research on all the bugs and everything like that. If in six months there's still any issues left,

19:03Like, would we be surprised? Is there any reason why we wouldn't be able to chew through all of this stuff? Either closing or ignoring or saying we're not going to work on that, but even just building a prototype for some of this stuff, see if 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 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.

19:36There'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 got to rethink how you turn your knobs and levers. But now you can actually take the time if you hadn't done that from the origination of the project to comb through the project.

20:09Because you might, as a human, spend weeks just looking at your code base to see how you can apply DST to your project. Just to restructure so you can do. and now it's like well yeah that's kind of like let's just do that because i'm not looking at that code i'm not going to spend i'm not going to miss my child's birthday because i'm looking through the code no i got i've deployed 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 that's a a strange potential world it is it is it is weird I used to use this kind of, I don't know, it's not really a trick or a mnemonic device or something like that.

20:54I've just been like, hey, if I just fell off my bike and hit my head and just kind of like came to in this startup and with these, the current state of our code base and the current state of our customers and all this stuff, what would I think would be the most important thing to work on? right? Like to try and clear the, just try the exercise of like clearing all the sunk cost or the momentum or the continuity and say like, okay, if I just started fresh right here, like what, what would be the most important thing to do? Or what would I do next essentially? And I'm feeling like I have to do that like every six weeks now of like, okay, wait, hold on.

21:33The, the parameters of what's possible have shifted. Is this thing that we thought was a good idea before or thought was a blocker or something like that? Or even like a principle of the company, like is that still relevant? An example of this has to do with our documentation, our change log, and the way that we keep up communication around the SDK and around our releases. So Tealdra, we ship the website, tealdra.com, every week. And then we ship the SDK every month. And essentially, the.com, which is this free tealdra.com, free whiteboard that people can use. And please do. It's really good. It's a lot like Excalibur, is how people describe it very often.

22:23Which is, you know, we're friends. Don't worry about it. You probably predate Excalibur, don't you? No, they predate us. In fact, one of the reasons I started working on this project was I contributed to Excalibur a bunch and implemented a feature there. I was like, wow, this code base, because it was very organically, very open source kind of code base. I'm like, this was harder than it should be to add this feature here. And there are like 100 switch statements in this code base where you switch on whether you're dragging an arrow versus drawing or something like that. and I could kind of see the I was already thinking in this mode just based on my other open source projects but like I was like I could kind of see the outlines of an SDK right where all those things are pluggable rather than hard coded and yeah I did pull down that thread a little bit and it turned out that there was a demand for it so you had the SDK in mind from day one this started as yeah the.com was and kind of always kind of still is like essentially a demo of the SDK.

23:32But it's a demo that has like, I don't know, I think like 130 ,000 registered users and like half a million monthly like users because you can use it while logged out. So it's a good demo. It's a very good demo. Yeah. Luckily, we get a lot of the infrastructure at reduced rates. So we haven't had any pressure yet to do it, but it is a good thing. It helps us. We license the SDK, so it's awesome to have something you can send to your boss. But, like, yeah, we release the.com. It's part of 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 have our half a million people just kind of fuzz test over this thing and report bugs and crashes and things like that.

24:21rarely happen, but it's good to give us confidence. But the communication around like, okay, here's what's in the next release, right? That's really hard. It's really hard to maintain because PRs are going in all the time. It requires this manual narrative synchronization across the team. And I'm sure this is a problem at any team, right? And usually requires a lot of kind of like middle management and product managers in order to 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.

25:00The cloud code runs on a Mac mini in my living room every day that says, what are the PRs that landed in the last 24 hours? What is the current state of this like next.md file? And let me just create 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 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, like tests don't fail if our change log is wrong, right?

25:46There's no way to automate around that. And to say to customers, yes, you can look at this document because every day it'll be up to date. That's the type of commitment I would never have made. Just because it's like, if it's wrong, I won't know it. And it's going to require constant recommitment to the work there. And so those are the types of things that we just didn't do. And we didn't do intentionally from a strategic level. We will not do these things that require all this maintenance. We need to do things that are automatable, that break loudly and so forth. But these days, in this case, like, wow, I guess we can just do that.

26:28You know, like we can publish docs every time we land a PR, you know, we can like update the change log. You know, like there's a lot of things that, yeah, it just changes what's possible, I guess. This is all coming from somebody who, if I understand correctly, you are writing code daily. This is not like a, you run the company and you're sitting behind the scenes, you're active in the day to day. What does that, what does that like to, I suppose, not only be in charge, but also be in charge and still write code on the daily, I guess, direct code maybe is a better way to say it. It's not that different than how it's always been.

27:09I mean, like, this has always been, I mean, there have been times where I've written less code because I don't know where we were fundraising or I was doing a lot of hiring or other things, right? Like, or where, you know, to my great shame, like most of the code that I wrote would happen on like Saturday mornings, you know, or evenings. There was a bizarre time where Teal Draw went from being my nights and weekends project to my company back to being my nights and weekend project, even though I still was running the company. But yeah, the thing that has changed the most for me is that there were a lot of things that I had to say no to or not now to because the time required to do it was a lot.

Read the full transcript

27:56And because the work itself was very opinionated or very tasty, taste-based type of stuff. It was subjective, right? It was like, and Teodra is full of those types of things. In fact, that's kind of one of its value propositions, right? Is that like, what does a good arrow look like? I don't know. An arrow could look like anything. But you know what? I know what a good arrow looks like. And I will ensure that our arrows are great. And that's just one of those things. You have amazing arrows, by the way. Thank you. The best I've ever seen. The best years of my life went into those arrows. But yeah, like some of those things, like, okay, they're just hard to work on because the iteration is going to be slow or it's just going to be like, it's going to take multiple shots at this before I understand the problem, really, all that stuff and stuff.

28:48But they're not necessarily things that I'm super comfortable handing off to other engineers because they're, I don't know, they're, yeah, they're like, they're clearly a Steve feature, like they should be a Steve feature, but it's really hard for me to commit to Steve features during the times where I'm most busy. But I feel like I can work on those features a lot better these days because the work of the programming, the work of getting it to a point where I can like say that's we're going in the right direction or not. And then doing another iteration or trying a different direction, all those things, that time is just compressed.

29:28And so, yeah, like if it is a kind of a design feature, design interaction or something like that, where we're not really sure how it should work. We just have to do a lot of different, like take a lot of shots at it, which is the place where I kind of add the most value as a programmer. That stuff has accelerated massively, right? Because at the end of it, I might throw all of those versions out and say, okay, well, now I know what the feature should be. Let's even hand off that thing to get built by someone else, or let's take that extra time in order to review it or something. but like uh 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 i can run multiple coding agents at a time trying different things i can i can analyze things really quickly um and yeah just take more shots on goal i suppose do you find yourself wanting to be in those details more than because I got here's where I'm trying to go with this is that I feel like there's this necessary slowdown not because you can't go that fast not you physically but the organization given the new constraints and levers we can pull I almost feel like folks will want to go a little slower not to go slow but to be in the details to be in the steep 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?

31:03That's an interesting question. I think it depends. I think it depends on whether I'm working, if you can think of, especially with TealDraw because it's an SDK, right? Kind of as a tree. There's the very core parts of the SDK and then there are the things that depend on it, right? There's the kind of the tealdraw.com being a thing that depends on the tealdraw kind of core library. There are these starter kits, right, that depend on the core library, but nothing depends on them. Tealdraw.com needs to work because users depend on tealdraw.com, right? But we have other things that no one uses. I mean, they don't have users, like the starter kits don't have users.

31:45The documentation doesn't have the same relationship to user data that the.com has, things like that. When we find ourselves on those leaf nodes of that tree, things that don't have any dependencies, go fast, like full throttle. In fact, you should because it's an opportunity to practice going full throttle. You learn to trust the model, trust the system, trust the letting go. even make some mistakes like yeah 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 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 sales guys can look at a summary of oh you know which prs are landing you know and like okay put that in a language that I can understand or something like abstract this for me.

32:49Tell me which types of customers I might even mention this to, right? Like we're putting in accessibility features. All right. Well, here's how to talk about this to customers. On the flip side, I can look at sales and I can see, you know, I'm essentially just taking all of the CRM data and handing it to Gemini and saying, like, tell me a story about this, you know, pull out the stuff that matters. 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, et cetera, just give me something to work with. And I can just refresh that anytime I want, which is great.

33:27This is another thing that like, it would be insane for me to tap my account executives on the shoulder and be like, hey, stop what you're doing and write me a 500 word essay about the deal that you're working on, you know, but it would be great to have, right? It would be awesome to have. It's just like, I would never do it. Now I have that. And it's not perfect, but it doesn't, it's not load bearing either. So it's like, it's still great. Those internal tools are another place where we've, we've just ripped like, and then sometimes they're broken. Sometimes they're not broken. To our friends out there running a distributed team, when was the last time you audited who create 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 vibes based security so nordlayer replaces the patchwork.

34:34It 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 NordLynx. That's their VPN protocol they built on WireGuard and deploys in under 10 minutes. There's no hardware. There's no quote-unquote rollout. Just turn it on and start enforcing real policies. And NordLynx recently partnered 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.

35:15This 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, and 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-10-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.

35:57it's definitely the era of internal tooling i think you can build so many things that help you move the data points you have like you're giving an example here where you where things fall through the cracks uh not because you don't have humans evolve because clearly you have humans evolve but it's that the synthesizing the data out of certain artifacts has just largely been impossible not because it's been impossible because spending the time on it has been impossible And now you're sort of freeing up this data to you as a visionary and someone who has clear taste to make choices that you could never really make before.

36:32You didn't have the data. You just have the data available to you. I didn't have the data in a – I didn't have the insights, I suppose. Like the – yes. I think like granola. Like I use granola for my meeting notes and stuff, but I never read the meeting notes. like it's cool to know that there's a summary of my meeting but I just I don't refer to it the only time that I ever use it is when I shove those meeting notes in in a big group to some other LLM and say like hey can you can you pull out some you know how do I how could I be a better how could I improve my one-on-ones or something like that right 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, therapy, maybe not a therapist, but like, you know, like I need, I need some other experts of it.

37:25It's a feedback loop. Yeah. Like to, 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, a code repository. Like things are coming in all the time. Like you can't stay on top of it. You can work within that, you know, but like actually zooming out is very, very difficult. And yeah, it's fantastic to have essentially an army of consultants that I can just throw at all of these things.

38:05Here's what's interesting about you're saying that is that you as someone who's leading, you're able to stay in the minutiae 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 its 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 clod all these things and you don't have to give up the other to get the other.

38:44And 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, this hype wave, is it real? Is it not? And we all kind of were there. And I think until you've gotten past that, that threshold to see what's beyond just the word AI or the, I guess the acronym in this case, that you can truly understand what is possible for someone who knows how to fully leverage and stay in the details, but also zoom out. I think I'm really lucky to be like a technical founder because I kind of know both sides of the problem, right?

39:28Or I'm learning both sides of the problem. Oftentimes these internal tools are a way for me to learn about a part of the company that I might not know about. So it is like, I didn't know how our CRM organized data were, you know, some of the routines until I was like, all right, well, I want to build a tool to help me visualize this or help me understand it. Right. And just like anything else, right? Like that's like I'll learn the things that I need to learn in order to build the thing that I'm building. And oftentimes I try to build things that will force me to learn the things that I need to know, that I know that I need to know for other reasons as well.

40:04but also just like yeah I know the 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 work is in a way kind of like a luxury right like it would be very hard for me to think of things to do with I have no problem finding use cases for using whatever AI models because so much of my life is trying to get that macro. It is trying to get the intelligence or insights out of a... Even with only 15 people, it's still a complex system.

40:53We're producing knowable things all the time, whether that's bugs or customer feedback or code or conversations with customers or you name it. our analytics and all that stuff. So at the moment, I feel very, very kind of like lucky to both have a problem which can be solved and at least can be addressed with these tools, the ability to work with those tools, the capital not to worry about the cost of working with those tools, which is fantastic, but enough of a problem to really sink my teeth into without having it be the same scale of problem that you might have, you know, I don't know, at a Shopify or something like that.

41:40Which, yeah, you couldn't really fit into your head. Or maybe you could, I don't know. Tobias may push back on that. If anyone can do it, it's Toby. Yeah, I think. Speaking for the audience, Tobias Luque, the founder and CEO of Shopify, who went from bespoke random Ruby app store front to Shopify, ICO, stock market, massive, which is cool. Canadian powerhouse. That's right. Yeah. That's 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.

42:31Like 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 try and break new ground in terms of anything like that. And I think, you know, similar advice with go to market is that like starting a startup or just selling anything is just so hard that if you find yourself innovating in the go-to-market or if you find yourself innovating in the thing that you're selling, you should ask yourself, is that really what I want to be doing? Or should I just be using a much more normal go-to-market and just focus on differentiation, product marketing, all that stuff, right?

43:12Unfortunately, selling a SDK, there's not a lot of great examples of companies that have gotten and passed a certain size selling code, selling NPM libraries essentially. And so yeah, we find ourselves in the uncomfortable position of having to innovate in how you do that and experiment much more than I expected. The good news is that we're kind of figuring it out and that a lot of the... And I'll talk about specifics, but when I started, I was really scared, honestly, that if I try to commercialize this thing that I sell to developers, then people will not accept that. If you require a license key in order to use an NPM package or something like that, then your adoption will go to zero.

44:09right if you if you put a price 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 going to be close and we're probably going to actually break even like this year uh congrats even with like 20 people, I think we're going to 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.

44:55And again, I'll talk about the specifics, but like, 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 and like, developer tooling. They're not happy stories. They're mainly stories about how AI is really disrupting the revenue channels, the traditional revenue channels around open core software. Yeah. And that's not been the case for us. Our story is closer. It's not as good as Supabases, but it's closer to Supabases in the fact that models recommend us, people use us, people like us, and then people pay us, right?

45:36That we're delivering value and we have the mechanism set up to capture the value that we're creating. That's great. Like, if I were trying to sell premium features on top of TealDraw, which is one of the things that one does with this type of thing, I would be terrified right now because, oh, it's just some code on top of a known open source library? I can do that all day. I can have 10 of my clods doing that at once. But if it is, yeah, all right. So anyway, selling SDK, the way that we do it, TealDraw is we distribute it on NPM. Again, it's like source available. You have to sign in a CLA if you want to contribute.

46:22Yeah, it's not an MIT license. it's under essentially a commercial license. Which license did you actually choose? You said source available. Which one did you choose? Was it self-made? I think we adapted one that Microsoft used. I don't want to interrupt. I just wanted to get that clear when you were going. No, no, no. It's the TealDraw license. I think the important thing is it's not HEPL. It's not like BSL or 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 to sales like uh either it's like fully permissive in a way that is not going to complicate your next funding round you know when the lawyers do due diligence and they say hey 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, don't worry about it.

47:23It's MIT. Just go nuts. Like do whatever you want with it. And it's not AGPL or GPL where, yeah, there's requirements on the parent's organization, like that your app needs to be open source as well or something like that. If it's anything else, it's basically all the same, which is that, okay, we're going to have to have like buy a license. We're going to have to arrange a alternative license that we can use. So TealDraw's license has its little particularities, but essentially it's not permissive in the same way that MIT or Apache is. So yeah, there you go. Everything else kind of fits in the same bucket, which is not permissive.

48:07Anyway, 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 adoption and even experimentation and obviously converting to a customer if you're a true, if you're beyond the, you know, the development. Now you're actually in production with it, for example. But continue. I just want to get that clear before you're in paper. Gosh. So we are. SDK business. This could be a three-hour fireside of how, just the story of how this thing about, I'll tell you the current, you know what, no, I will actually go into a brief history of it, right?

48:59First, like the V1 of Tealdraw was MIT licensed. It still is, if you want to use that version. When I formed the company, we basically rewrote the thing. and that version was like in alpha and that alpha was public under Apache license. But there was always a statement basically like, we're probably going to change our license when we hit 1.0, unless we just decide to do something completely different. But if we're going to maintain this, if this is going to be the project of TealDrop, which is the SDK, like we're going to change the license. And yeah, when we did the 2.0 of that, when we released that version of it, It was just a non-commercial license.

49:39It's just like, you can use this in academic work, in student work, in things that don't make money, or inside of companies that don't make money, I guess, or maybe not inside of companies. But if you wanted to use this in any commercial settings, you need to buy a license. How much does that license cost? I don't know. Talk to me. Then we just put that out there and crossed our fingers and hoped that anyone would show up. And I was shocked that a ton of people showed up. And we did almost a million dollars in revenue in that first year with such a bare bones go-to-market license structure, sales structure, anything.

50:22It was just like, let's negotiate every single deal and try and figure out how much value we're providing and argue that TealDraw is a valuable thing. And we have this very simple, you can't use this in a commercial setting, you can use this at a commercial setting under these conditions. All of the licenses that we sold at first were perpetual, meaning you pay, you get a year of updates. And then if you want to buy another year, like you get another license. Otherwise, you can just keep using those updates that were released within that year, like forever. I don't care. It's really like the most generous type of like commercial license that you can imagine.

51:06But I needed to know whether anyone was even out there. Like if we had sold, you know, only sell less than that essentially with more restrictive terms. But that's the way that we did it in the first year. And I say we, but it was just the way that the six of us came up with as the way to do this that would make sense. It's that we needed to validate this because there was no guarantee that anyone would be willing to pay for this. But yeah, by the end of that year, we had switched to a system where you could use TealDraw even in production, even in commercial apps for free, but it had a big made with Teal Draw in the corner.

51:54And that was our kind of like V3 watermark license. If you wanted to get rid of this made with Teal Draw, then you'd have to buy a license, but you could use it. Anyone could use it even in a commercial setting with this watermark. And part of the reason why we did that was we needed to know where this thing was being used. We started to realize that we were bottlenecked in selling the SDK and just knowing who was using the SDK so that we could talk to them. And that little, there was no license enforcement for the V2 or the V3, I think. No, for the V3 there was, but 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, who is requesting this little watermark SVG?

52:45And that gave us at least some idea of which domains we're using this, who is using this. Okay, we should go talk to this company because they're clearly using the watermark or something like that. Maybe they're going to want to become customers. But 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 TealDraw 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, oh, well, that sounds like a lot of money just to get rid of a little SVG in the corner of the canvas, right?

53:29Is that we essentially actually anchored the price that we were charging to the pane of this little watermark rather than the value or whatever of the canvas. People were building, investing, there would be like 20 people working on top of Teal Draw and stuff. They're putting millions into this project. But that SVG really didn't feel like more than$10 ,000 a year type of thing. And so we, the summer of last year, we kind of did the next iteration of the license, which was much more restrictive, which said you need a license key to use this thing in production. It will not work in production without a license key.

54:11You can use it locally. That's fine. But as soon as it detects that React is in production mode, if you don't have a license key, it'll just disappear. Which was pretty extreme. We balanced this by saying if you have a hobby project or a non-commercial project or just something that is a student project or anything else, I'll give you a license key forever for free. I don't care. And if you have something in between a commercial project, not commercial project, you're kind of evaluating it. Here's a 100-day trial license key that you can use. And at the end of that trial license key, either you can decide not to use this or you could say, actually, this thing is just going to be a hobby project.

54:54I'll give you one of those licenses. Or you talk to sales and if you're using this in a commercial app, 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 allowed us to know who was using this like if a if a person signs up for a 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 that's a person we can talk to, right? And we didn't really have that before.

55:37We were just constantly trying to chase like, okay, where did our watermark load and all that stuff. Now, of course, the developers who are using this, the developers who are getting like login keys and are on our Discord and stuff, are usually not the people who decide whether to buy Tealdraw, right? They're the experts who are going to bring this into their organization. They're the people who are going to answer the question, how do we build this thing? Do we build it ourselves or not? But they don't always have the company credit card, you know? So oftentimes we don't even ever talk to the actual developer who, like, you know, whatever, got a license key or something like that.

56:13We don't care about that email address, but it gives us enough information in order to start looking at, okay, well, who in that organization is probably running this project? Who should we reach out to? Who should we try and get an intro to? I don't have a huge sales team, but like, and I think I have a really good sales team, but that's the type of work that they do in order to actually make deals happen out of this interest. And all of those things currently are working really well. And we have like some, like Google's using Teal Draw in our product. Shopify is using Teal Draw and their internal products like Autodesk is using Teal Draw.

56:59We're growing within these companies and almost all of the AI design tools that are out there right now are using Teal Draw for their Canvas. It's awesome. It's really good to see something that I didn't think was possible at all, which is to make a potentially venture scale company based on front end tech, right. Actually start to kind of like, you know, for the engine to at least turn over, you know, and it's really, really, yeah, it's encouraging. It's exciting. It's even more interesting that your distribution is via NPM. You know, you're not even really having to pay for your distro. You're just, you know, in the sense that you don't have to rely on the infrastructure, right?

57:43The things that we don't have to care about are insane. Right. Yeah. I mean, like super high margins. For a while, the biggest cost to TealDraw, apart from developer salaries, was DocuSign. Just because the cost of doing business for a product like this is so low. Now, developing it, expensive, of course. Engineers are expensive. Other infrastructure is expensive. Our biggest marketing tool, tealdraw.com. We have really great relationships with like our cloud providers and things like that or Cloudflare. But, you know, it's still it's it's like compared to a normal marketing budget, totally reasonable, totally acceptable.

58:28This 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 CICD. You designed a component library for a site with four pages. And it's still not launched. Oh my gosh. That entire yak 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.

59:14Here'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've got courses, video tutorials, workshops, gated posts, Squarespace lets you set a price, put up behind a paywall, click recurring revenue, one-time fee or subscription is your call.

1:00:09You 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.

1:00:45And when you're ready to launch, use our offer code. Again, changelog. Save 10 % off your first purchase of a website or a domain. Once again, squarespace.com slash changelog.

1:01:02You know, this is a weird analogy. I just literally thought of this in this moment because I want to make this point to compare to SAS. That's my point. Like I get your argument and I 100 % agree with it. But my suggestion is that it's largely margin based in a much higher scale because you're not SaaS. And it's kind of like the concentrates that don't ship with the water kind of thing. You know, I just heard that Minute Maid is no longer making their 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 Maid shipping this thing you've had in the freezer probably since you were a child.

1:01:40right 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 that can fit into the case maybe dramatically less weight so a lot easier to maneuver around inventory cheaper yeah of course yeah all the things right now they're kibosh in this thing and i'm like whoa how is that a thing because like that's like an SDK versus SAS. Like SAS is me giving you the whole bottle with the water and everything. And the SDK is like, here's your concentrate version of it.

1:02:15Do what you want. You know, like you don't have to put it in water. You can put it in something else if you want it to. So this is like the SDK version of it. I mean, I think the, okay. So there's another conversation that I've kind of been watching happen, which is about like the impact of AI coding and other things on SaaS is like, why the heck would I pay for this if I could essentially build it in a weekend, that type of thing? Which I'm going to prevent myself from diving right into that, even though I think it's really, really, really interesting. And it will have an impact on Tail Draw's future as well.

1:02:53I think selling an SDK, yes, absolutely. Our margins are good, right? It's just that you can sell, if you add the water yourself, you can sell it for three times as much, right? And all those other problems about inventory efficiency and things like that, they're solvable problems, right? They're complex, but they're solvable. And I think SAS similarly, like, oh, it'll require a lot of infrastructure. Okay, we can solve that. like, but reliability will be a problem. Like security will be a problem. All right. We have people, we have capital, we'll solve all those problems. And then we'll be able to sell our canvas, you know, like a Miro or something like sell the whiteboarding experience for millions of dollars a year for enterprise, right?

1:03:44Makes sense. Certainly has made sense. From a how hard is my life perspective, 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 going to touch your data. Like, I don't care. Like, what do you, like, I don't know what you, that's a great response. I don't know what your security is. Exactly. Like 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. Like, Hey, can you, can you build this feature? Like, well, no, but you, you, you can build that feature.

1:04:16And in fact, here's how, here's a thousand examples of how to do it. And especially these days, like it's trivial, you know, to customize this stuff in some really deep, deep ways. Like that's exactly what we've built this thing to do. So much of the normal places where like support, like all this stuff is just like, it is crazy where we don't have to spend time compared to almost every other product that I've ever worked on because we are one step removed from users, right? Like we're not even exposed to the same risk that our customers are, right? Like we sell a lot into ed tech. Ed tech is brutal.

1:04:59Oh my God. Like you're on the line for, you know, a government changes the way that it distributes, you know, funding within a school district and like, and you just lose that customer or you lose all of the customers within that state or something. It's crazy how hard those people are fighting. Nothing but respect for people doing business in education technology. But we're not directly related. We're not as exposed to that problem as those customers are. We're providing the tooling for them to build their product, right? And our customers take on that, I suppose, the investment, the risk of bringing us into the product, And it's our job to make sure that we do the best we can at the thing that they brought us in for.

1:05:45But 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. Let me, let me go check. Like, Oh, cool. It went up. But like, yeah, it's, we, our attention is towards things that are, it's the, the seas are a lot calmer in, in selling an SDK. it's just not obvious how you sell an SDK. Have you done a masterclass? I mean, we got the short version here for listeners of the pod, but is there like, here's how to sell an SDK.com? Or like, do you have anything with that? Because I'm sure there's others that would like to skip to the end because you went through a heck of a process to get there.

1:06:26Yeah, I'd like to talk more about that. And it's something that myself and my head of GoToMarket, Phil Lowe also talk about a lot, which is that like, man, this is new information in a way that I didn't expect to kind of be producing new information. Kind of 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 we have or the places where anyone wants to innovate, but it is a place where we've innovated. And yeah, I'd like to talk more about it. I spoke recently with like the CEO of like AG Grid. AG Grid is like a data grid component.

1:07:01Almost the exact same story as us with regard to the go to market. 100 % inbound. Ourselves, 100 % inbound. Trying to change that, trying to change that. We have a lot of differences in terms of how we price. That's the other thing. Pricing is a really challenging part of this. but the you know there's there are companies out there that are doing the same type of thing but there's not a lot of it like literature on it there's not a lot of like best practices or anything it's still very very new way of running a business just on the pricing there are so many ways of pricing of charging for like an SDK use like this and kind of fellow travelers here would be maps like Mapbox, right?

1:07:59No one's going to build a map. They're going to buy that or they're going to license it. Text editors, data grids, kind of charts and diagram libraries. Like if you're doing a lot of automatically laid out charts or even Mermaid.js 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 nothing i mean i think we're a pretty special team of you know people i've tried to build that special team but like at the end of the day we're programmers, you guys are programmers, like, you could build Teal Drop.

1:08:52You just... I wouldn't want to. It would take a while, and then if you got it right... Let Steve do that, please. Let 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, like, built it. Yay, right? Like, that's a terrible... Not the best use of my time. No, and there's enough bad canvases out there that I can point to, or at least subpar canvases out there that I can point to to say that 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.

1:09:32It's a strong value proposition for companies that know that they want to use this type of thing. But how much is that worth? How much are people willing to pay for that? The biggest number that we put in front of a customer was half a million dollars a year. our average geo size floats, but it's, 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, the half a million dollars a year, year guy was like, we are a consultancy that builds large projects. And we only have one customer. Basically we were a consultancy with one client.

1:10:10And I was like, that's an interesting, like uh who who is your who is your one client they're like it's the u.s department of defense that's pretty common actually yeah and uh yeah i was like oh okay cool and they described 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 is 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, all of the boxes of the things that would lead me to believe that TealDraw is going to be a major part of the sleuth, whether this deal even happens or not, whether this project happens or not.

1:10:54So not every project is like that. Obviously, there are a lot of projects where TealDraw plays a very small role, even in a big project. But yeah, there's a number of apps that just would not exist without TealDraw just because of the kind of the lack of alternatives, number one, but also just the unviable, it would not be viable to build this themselves and then build their product on top of it. So those people probably just would have done something else. Anyway, yeah, how much is that worse? Well, we're figuring that out. We'll talk again in a year. I'll try and have a better answer for that.

1:11:31That's part, I think, the detail to be in those negotiations because when you're in those sales negotiations, It sounds like you're learning, too, about your customer, how your value permits into their software stack and truly what your value is. Like, that's, I think, like I was kind of like taking it back by your desire to negotiate every deal. But that's also a learning process you have to do for a measure. Could be a year or even two or potentially a whole entire version like you've done because that gives you a learning process. It gives you a learning process. I think everyone should try that as well.

1:12:05It also gives you an opportunity, really low friction opportunity, to just ask for more money. And everyone says like, oh, you should raise your prices, raise your prices. But like, it's a lot easier to just, you know, come off of a call being like, all right, those folks agreed pretty quickly to the number that I put out there. Maybe on the next call, I'm going to, you know, ask for a bigger number, right? And there's nothing, there's nothing wrong with that. Like that is the process, right? You can just iterate on it faster. Everyone does it, but it's, you don't have to change your landing page.

1:12:40The 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? When I first started talking to customers, I would be pricing based on how big the customer was. Right. And a lot of, like a lot of SDKs will do this. They'll say like AG grid, prices based on the number of developers who work on the project that's going to have this feature in it, right? That's going to use the AG grid code base, right? Or like, how many times will this component load? Or how many minutes will this thing be active? Or how many connections or all that, right?

1:13:19And 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. But in order for that to work, we have to bring that price down. But now we had, we're going to give that whole company a license to use the product for like a small price. And so the kind of the genius unlock was just saying like, all right, this is a, like, because we were negotiating, because we had that ability to make these 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 part of the product.

1:14:09And I'm happy to give it to you for whatever, a price that would seem out of fit with the size of the company, right? Right. But hopefully you like it and hopefully like other people at the company, like see this and say, Oh, I want that my part of the product or hopefully it grows. 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, charging per connection or something like that.

1:14:49So it's, it's terrible because like, again, as a, as a programmer, I like to automate things as a software guy. Like I like to set up systems and nothing could be further. Yeah. So just negotiate each time through, you know, but, but it's, you just got to do it. Like 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 you know 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 question cut differently i don't know oftentimes what i see with self-hosted is that there's a commercial app, right?

1:15:51Like 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 get a little bit of the best of both worlds. You get like broad adoption that will tell you what features are really important. Like there's no, people will request anything, but once they start building it for themselves, then you know that they really need it. And so having some sort of open source or some sort of self-hostable path is a great way to learn about your customers, if nothing else.

1:16:29And I think having your code be open and we're 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 some people just want to care about open source in ways that I wish I could. I wish the model worked for us as well, because I also do care about these things. But in that case, you're giving a full product, and you're saying you can put this product on your servers, right? It's different than an SDK. The SDK is like, here's the engine.

1:17:10Go build software on top of it. But it's like the thing that you get when you use TealDraw is that engine. And of course, in order to make it easier to adopt, we've built a lot of these starter kits and modules and things like that that you can use to, for example, do multiplayer collaboration. Really good as well. We nailed it with the backend. And that backend is not a service. that is here's code, put it on your server or deploy it to Cloudflare yourself. Like, I don't want to ever touch your data and I won't. But it's, yeah, like, it just is all the things that are kind of sitting around this SDK that help move it.

1:18:01But like, hey, we want to build a comments feature, you know, on top of TealDraw. And is that part of TealDraw? And I have to say, like, no, that's not part of TealDraw. Or can we just have TealDraw.com, but inside of our own internal organization? I have to say, like, no. Actually, you have to kind of build that layer yourself. And I have to say, after, like, four years of saying no to that, I'm having second thoughts about whether I should be saying no to that. But the interesting thing is, and here's what I was talking about, about, like, AI kind of eating SaaS products or changing the way that SaaS products work.

1:18:36At the beginning, the companies that were asking for TealDraw kind of like in a box, like, can I just have like an application around this SDK? They were almost all motivated by concerns of data sovereignty. So they were like German or like, you know, or, you know, European. and maybe they were part of a university or government or they just felt very strongly about this. And they were like, we can't use these SaaS products that are based in America because of the data requirements in our country or in our organization, right? Or we have to use open source software. We have to use software that we can modify ourselves.

1:19:24Or they were like in air gap facilities, You know, like we're in an engineering facility that is, you know, 200 feet underground and we need to collaborate or we still need to do these things where it's still a technical team or a business. But we just can't use SAS because we can't access the outside, you know, Internet. I'm calling you from the parking lot type of conversation. That was how things that was the type of inbound that I was getting before. And that's not very motivating. interesting. There is a market there, but it's not the most interesting market to go after. I'm not going to pivot the company because of GDPR.

1:20:08I don't want to be the GDPR alternative to Miro. It doesn't sound super interesting. It is an opportunity. There is actually a GDPR thing. These days, the reason why companies are coming to us saying, hey, we want TealDraw in a box or we want to have an application around that, is almost entirely because of AI. And the way that they describe it is like, we are building these really cool internal tools, these agents, you know, within the company. And they're great. I'm summarizing pretty heavily. But like, 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?

1:20:55and they're bottlenecked on essentially like agency. Like what can they actually do? The external SaaS products, wonderful. They solve the problem, right? The Minute Maid comes in the bottle. You can just drink it. You don't have to worry about whatever. But 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. I really like Notion. I've been using Notion for like eight years now or something like that, right? And they have an API and that API is really good.

1:21:31And they have like a MCP server and that MCP server is really good. But I noticed that they don't let you get the past versions of documents. And you can get a page, but you can't get like the history of updates to that page. It's in the application. Like Notion UI lets you see that. And Notion's own agent can tell you about the history of a page. But if you're using it programmatically, like with an AI MCP server or just the API, like you can't get that information. And I was trying to build a thing that would summarize, here's what changed in our Notion this week. And that was just like the end of that story.

1:22:13Like I could not get that information. The only other way that I was going to get that information was doing a daily cache of like pull everything, every page that has changed. And I'm like, I'm like, this is silly. Right. And, and Tealdra 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 Notions history to like generate 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 whiteboard that they had during the onboarding session or something like that is essentially in a black hole on some, you know, online whiteboard SaaS product, that's a problem for them.

1:23:00Like that's a big problem. They can't get that information. They can't access that knowledge. They don't know, you know, like the systems that they're building just don't work as well as they could if they had access that information. And maybe they want to write into that same situation in a way that isn't so mediated by the API surface of the SaaS product. Anyway, those are the types of conversations that I'm having these days with teams that are looking into, okay, what would it cost, what would be reasonable if we wanted to replace this external product, this SaaS product, with something that we owned ourselves.

1:23:39And that's a much more interesting conversation, in my opinion. Sovereignty is key in that case. I think that's a great example. I want to throw a potential target into your head. And I might be wrong, but the next best thing to a whiteboard is a remarkable, so a personal whiteboard. And I know this very clearly because I love my remarkable, and I'm sad because it's downstairs. It's not right here. and I'm really sad about that because I usually like note take and doodle I'll write your name 17 times it's just I don't know it's a muscle memory thing you might think I'm over here not paying attention but I'm really just drawn and having fun 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 the cool thing about a remarkable is that they do have a developer mode but it's kind of like you're going off this beaten path You kind of like they kind of treat you a little weird in the remarkable, but it runs Linux.

1:24:41And 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 there. 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.

1:25:16But 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-ink? 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 market you want to compete with, I would say hardware and remarkable because they are not cheap.

1:25:48They're, they're fairly expensive, 600 bucks, 500 bucks, 800 bucks is like the, the measure between them. But by and large there, they pay themselves off because like the note-taking I've been able to do, it's just been tremendous more than I've ever done before. and I go back to them. But the Go SDK in particular, or sorry, the Go API I put on it is really helpful for me because it can actually take that OCR, it turn into real notes elsewhere and do all these cool things for me that now I can throw into large language models, things that I can automate just by writing 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.

1:26:24You know, it sort of is this unlock, but my suspicion is at some point they're going to change that developer mode Are they going to change how they feel about developer mode people and lock me out of that feature set? Because it's not core. They have remarkable cloud. They want you to pay for it. 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.

1:26:59That's why I asked you about SDK versus self-hosted, because I feel like sovereignty and SDK and self-hosted will become the words of 26, 27, 28. Like, we're going to all want those things because we can largely control our worlds more. I think there's something new that we're going to see. And by the way, like, boy, have I been tempted by the hardware. Well, the moment you do, put me on the list, okay? Well, put me on the list now. If you have an Android tablet, I have a daylight computer, like an Android tablet that uses a, it's not an E-ing, it's like a transfective screen, but it's black and white, but it's like 60 frames per second, and it's really good.

1:27:36And there's a new the actually the team who works on this at Android, a new ink algorithm API in whatever Android Jetpack new alpha ink thing, whatever. Fantastic, like super good code, super fast, low latency, predictive, all that stuff. Right. Think of pencil kit for for Swift, but honestly better for Android. They actually came to the office to show me this stuff when they were in London. And last year, at some point, I vibe-coded my very first Android app that uses these things just because I wanted to draw on this daylight computer. And yeah, I flatter myself by saying I think it's the best drawing experience that you you would ever have on an Android, even at 60 frames per second, even on a fairly low spec piece of hardware.

1:28:37I just haven't released it because I'm not actually an Android developer. I don't know how to do these things. But if you do have one of those, I'll send you the insider link from the Play Store. Yeah. But no, I think that there's something actually new that we're going to see. And like every week, there's a question of like, how much do I want to bet on this being true or not? Self-hostable software is also different from an SDK because the self-hostable software, it might be well architected, but it's not really designed to be extended any more than just like the application itself might be designed to be extended, right?

1:29:19Like hopefully the code is good in ways that allow new features to be added without having to rip everything up. But in the same way that like, I don't know, So Excalibur, it was really hard for me to add new features to Excalibur because it was just an app. At the end of the day, it was just like built like every other app that I've ever worked on. It's kind of a little bit of complex, whatever, under the hood, but it worked. An SDK is built entirely in anticipation of third party code. And that has such a huge impact on how the thing comes together. and it's just very, very, very different type of code base than you would have with just a normal application.

1:30:00I'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? That's just not a thing that you often see on the market. And anyway, like, who would buy and then build on top of like a maybe like white label solution? But even then, like, you have a pretty narrow API surface layer, right? But I could totally imagine, and we're going to try this, but to say, okay, you know what, let's build that layer around Tealdraw. with the assumption that people are going to hand this to their, whatever, AI coding agents and say, well, in our organization, we need this thing to be tied into HubSpot because we're constantly sorting deals and looking at org charts.

1:30:55We're going to need all these extra features on top because that's the way that we collaborate, right? Those are the features that are unique to our company or I know that the software has organizations and then teams and then members of those teams or whatever, but in our 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 code base has, but make it happen.

1:31:26And rather than using an SDK and building everything around it, you might just have these situations where like here's a CRM or here's a Notion-like competitor, a knowledge base that works out of the box. You could use this kind of vanilla, but the thing that you're buying is source code and the thing that you're buying was built with the expectation that you are going to build on top of it and then you're going to kind of complete it, then you're going to add the water yourself. It's just bigger. 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.

1:32:10It was architected that way. It is distributed and priced and everything within that expectation, which is different than an SDK and different than a self-hostable thing and different than SAS. I don't know what to call it. I bought the domain, mostly.software is the same sort of like, oh yeah, it's mostly complete. It's there. But like, you know, it's fundamentally unfinished because the presumption is that you the end, the consumer will finish it yourself, but currently not using that domain. But we'll see. We'll see if I put something else out there. That's kind of the thesis. You should call your remarkable, you should call it mostly.

1:32:48Mostly. Yeah. Mostly. Mostly. Mostly. I don't know if that's a good name or not. Struggling. I like the word mostly. Me and a friend used to say mostly a lot. It was just a thing, I guess. But contextually, it doesn't make any sense here, but it was funny to us. All right. If it can be a meme within your friend's circle, then it can be hot. Or the start of the list. For sure. Yeah, exactly. I know we're here basically at somewhat, I would say, a version of the end because we're getting close to time. but it seems like you're at a mature state and you're in optimization where you're like able to dial in things that you may be able to.

1:33:29And so I actually 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 and coding to binary, things like that. and then maybe seeing 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, how you're optimizing?

1:34:03I 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 kind of slips. That said, for the last three years, every January, we've done optimization work. So it just sort of was the time. And a lot of the development in TLDRA also kind of ties into, honestly, our social media also. It's like, what do I want to tweet about right now? In December, I wanted to tweet about performance. That was just part of the messaging that I wanted to do around the canvas.

1:34:43We were doing this like AI stuff at the same time. I wanted to be like balancing the whimsical kind of crazy AI fairies on the canvas. I don't know if you saw this. That might not make any sense, but little AI agents flying around the canvas, which is great. It was super fun. But I wanted to balance that with something that was like really grounded. And so I looked at some of these PRs and that related to performance. And yeah, like we're doing some like super gnarly stuff of looking at like we've replaced our one of the layers of like Teodraw canvas is made of normal. It's like a react dom app.

1:35:25Like there's everything you see is like divs and things moving around and SVGs. It's not it doesn't use like the canvas elements. It's like just normal web stuff. Right. Which is crazy, but it works. works. 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 blue shape that shows up when you hover something, we'd start moving that into into canvas. As part of doing that, we discovered several bugs, I suppose, like places where we could optimize.

1:36:07One 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. And it was just like, it was very wasteful. So we refactored that. Our draw shape was storing the points, the individual points, using JSON. Just like, well, just normal objects, right? XYZ objects. And we're like, actually, we can make this much more efficient just by using 16-bit floats, you know, and having a fixed size for it. We'd still be able to pull out individual points if we wanted to, just because the bits are known.

1:36:55so we'd be able to like slice into different places. And, and, but that would, would change the, how accurate or how precise, you know, the numbers are in that thing. But so we'll have to change and fix that problem. We fix that problem, all that type of stuff. Those are just the types of fixes that you get after like four years of working on a problem. And a lot of them are just like, this is the, this is what works and lets us validate it it and lets us ship it and that we feel confident in. And then, okay, let's continue to kind of look at that flame chart and pull up 5 ,000 images or 5 ,000 shapes and move one of them around and be like, oh, hey, look, this thing in the flame chart shouldn't be there, where it's too big.

1:37:42Or like, let's just pick the biggest problem that we can recognize and just fight it. And we've been doing that for a long time. And 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, if you move your mouse around, we need to find out which shape you're hovering, right? And if you move your, if you like pan, if you scroll the camera, then, you know, a shape might come under your cursor. And so we're kind of like, we need to know whether like the hovered shape is no longer under the cursor. We need to still participate in that even though you're moving the camera.

1:38:21Moving the camera means that the shapes which are culled, which are off screen, might need to come back on and things like that. And so there's a lot of performance work going on. Those are really busy frames when you're panning the camera across. And we found out that, well, in certain cases, you wouldn't notice if you were hovering shapes or not because it would change too fast and things like that. So we could actually, under certain circumstances, just not check for hovered shapes while you're moving the camera. As a result for that, actually on a big, big canvas, busy canvas like that, reduced like the frame length for, you know, as you're scrolling across the canvas or something.

1:39:02And 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 target. right even with a react based uh canvas like you know shooting for that that 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 putting nails under your fingernails like what's the what's the analogy they say like something about your fingernails like don't do that not the chalkboard that's not what i'm thinking about but like i don't think you want to put nails under your fingernails i think that's an interrogation technique uh yeah it's like just don't do that to me like isn't that toothpicks 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 till draw uh versus try and build it build the parts of the app that people are going to notice and attribute to you and your product and then then buy everything else that's that's that's that's what I do as well uh yeah 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 and in this moment we're closing you know I uh I didn't have a chance to talk about the type of actually using the AI stuff with the Canvas itself.

1:40:39I mentioned a little bit the fairies. I think this is going to be a big year for that. We've been kind of experimenting with everything that I've seen so far about that type of feature set is incredibly encouraging. 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 a bunch of people are working on something really complex, you jump over to a whiteboard, right? And it turns out that that works so well with AI that I think this year more and more people will be just like shocked that we hadn't seen this earlier. Like of like, wow, this really, really, really works.

1:41:21Any particular like clear application you can mention or describe like in a in a multi-personal 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 spatially present ais on the canvas and you could talk to and say hey you know clean this up or tidy this up or draw me a picture of a cat or turn this code into a lot of candle Blow out the candle? Yeah, you know my content. But like, you know, we would have our whole team jump into a board, 14 people, and every one of them had three of these little fairies with them.

1:42:05And we were all collaborating together, like 14 people plus whatever, 42 AIs. And like, it was just like, oh, yeah, this just works, right? 14 people, 42 AIs. I've never been on anything even close to that, you know, in terms of collaborating with people in AI at the same time. Yeah. We're only now starting to see like, oh, like kind of group chats with ChatGPT or something like that. And for that to work and for that to feel so normal, like just all the UX around the collaborative canvas just translates almost perfectly to working with AI. It was really, really cool. The use cases where we've started seeing this already is education.

1:42:52Like, you know, I want to have a tutor. I want to be working on something. Teach me about this because, you know, it can build on the canvas. 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 like awesome. the things of like, you know, you can kind of take mermaid.js and create a diagram of it. But it's really hard. And you can even generate mermaid diagrams from code or from descriptions of a problem or something like that. 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?

1:43:34And 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?

1:44:14Or 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 going to, I think you're going to 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 feel very privileged because I've had these experiences and I know that like maybe a hundred people on earth have had those types of experiences, 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?

1:44:50How 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, cursor, like a panel on the right hand side, and then the canvas. If you Google like TealDraw Agent Starter Kit, there's a demo of that. And of course you can whatever, clone it or, you know, npm create TealDraw and select that one. But it's 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, whatever, make this draw a candle and make the cat blow out the candle.

1:45:38Right. Or, you know, here's some code, show me it on the diet, you know, build out a state chart that represents this, this type of stuff. All right. That all it can do. But we should have a, we should have fairies.tealdraw.com launched by the time that you, you release this, which is our, we did the Ferries feature on tldraw.com for one month and then we pulled it out and now we're just going to kind of put it on ferries.tldraw.com as its own little 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 tldraw.com.

1:46:18I mean, 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 absolutely tldraw.dev tldraw.com if you just want to go write to it or do, I guess it is a tldraw.dev slash starter dash kits slash agent or Google it, as Steve mentioned. Thank you, Steve, so much for, you know, forging a new path.

1:47:00And I'm looking forward to the masterclass as Jared alluded to. I know this is a micro version of it. I'd like a long version of it. If there's an email list for that, just put my name in there. I'll sign up.

1:47:15I 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 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 you don't know that man you don't know what's going on your work it's time to go babysit No, I've got 15 agents, running agents in the office. All good. And yeah, I post a lot on Twitter. I should say that.

1:47:53If you want to follow me on Twitter or X, I'm Steve RuizOK. And then Teal Draw also on Twitter is like our primary way of sharing devlogs and GIFs and all that stuff. Yeah, pay attention to you on YouTube. I've checked you out several times on there. And then I loved your talk at, I think it was AI World's Fair. I love that talk. Oh, yeah. It was a good talk. I think. I think I'm doing the one in London later this year. Maybe I'll do San Francisco. Yeah, that would make sense because it's like your backyard, basically. So, yeah. Listeners, we'll link up all the things Steve mentioned. We obviously link up to websites and Twitters slash X's slash, I don't think YouTube, maybe not YouTube, but we'll drop in the show notes for sure.

1:48:35We'll make sure this is in the show notes for you all. So check the show notes if you want to go and learn more about Steve. tldraw etc thanks again steve it's awesome thank you it's great meeting you both

1:48:49steve stuck around and revealed even more details on tldraw'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 again next time.

1:49:47Thank you.

1:50:08Hang on.

From the publisher

Steve Ruiz joins us for a deep-dive on tldraw (a very good free whiteboard) and the business he's built selling SDKs that help others build very good whiteboards (and more) with tldraw's high-performance web canvas.

Along the way, we discuss the excitement/fear we share about keeping our agents busy, how SDK and infra companies are affected differently by agentic software than SaaS companies, how Steve is approaching the coming era of internal tooling, what will happen when we equip LLMs with an infinite canvas, and more.

More from The Changelog: Software Development, Open Source

All 232 episodes
Selling SDKs in the era of many Claudes (Interview)The Changelog: Software Development, Open Source · 1 h 50 min
Listen in VO