The Standup with ThePrimeagen - How **WE** Use AI

Episode Date: July 2, 2025

ssh terminal.shop Opencode https://github.com/sst/opencode 📌 Chapters: 00:00:00 - Intro & Chess Talk 00:01:55 - Who uses AI 00:02:49 - ssh terminal.shop ad 00:03:22 - Dax developing opencode 00:...11:00 - ssh terminal.shop TOS 00:13:32 - Casey's take on AI 00:31:22 - Teej's take on AI 00:35:55 - Prime's take on AI 00:40:40 - Zero to One development being prioritized 00:48:00 - Begging Dax to teach us to build an agent --- **Topics Covered:** - AI agents in programming workflows - Using LLMs for 0-to-1 product development - Prototyping with AI tools - Maintaining vs generating code - When AI fails in complex codebases - Developer productivity tools - Code quality and long-term maintainability - API stability and tech stack evolution - Vibe coding vs structured design - Frontend frustration: CSS, layout, and abstractions - Real-world use cases for AI-assisted coding - Opinions on OpenCode and agent tooling - The future of software automation

Transcript
Discussion (0)
Starting point is 00:00:00 Here you guys. Hey, hi. Chess. Yeah, sorry. It is chess, yes. I was just testing out a player versus chat. I give up. I give up.
Starting point is 00:00:09 There we go. Game over. You lost versus chat? Yeah, chat won. I lost. Are you guys good at chess? No, but I'm confident I can beat Prime. That's all I need to feel.
Starting point is 00:00:22 So you can type faster and chess better than Prime is what you're saying to me. Are there any other things to be better than that? Nothing worthwhile. Uh, anyway, sorry. All right, hey, welcome to the stand-up today we have with us. Oh, wait, wait, wait, wait, wait. Welcome to the stand-up. That's so mean.
Starting point is 00:00:47 He was so, he was so honored. He was right in the middle of this one. You just interrupted the one good intro we were going to get out of prime today. Dude, you what is wrong with you, TJ? That's the only mean thing I've ever seen TJ, too. That's why TJ's not known as the nice guy at a company, okay, Daxx. You're the nice guy. I'm the Blocrow whiz.
Starting point is 00:01:05 I'm the Klarna joke guy. The clarned joke. Dax, do you remember how excited T.J.? Okay, that's way too inside baseball. We're not going to talk about that. All right, and welcome to the stand-up on today. We have with us, Teige, the not-nice guy. Hi.
Starting point is 00:01:20 Miratory, commonly known as Casey, the Git lover, and Dax, the nice guy of our company. Today we're going to be talking about AI agents because we were going to talk about Git, but we decided that AI agents would be more topical because Dax is going to be releasing open code a sweet, sweet command line agent for you to be able to do all the greatest things in the universe with. And it's model independent, right? Yes. Nice. Okay.
Starting point is 00:01:46 So I guess if we're going to start off this talk, we should first find out who here actually uses agents to do what percentage of their work. Because I feel like this is probably going to be our largest disagreement we've ever had on this podcast because typically it goes like this. How do you feel about TD? It's universally like, we're like, how do you feel about that? I kind of liked him. You kind of like it, but I've literally never seen you do it. I have been a... I write us all the time.
Starting point is 00:02:12 Are you joking me? Okay, we can't get distracted on this. But you write them first. All right. I do a lot of red green cycling, but okay, go ahead. Okay, so let's start with Dax. Dax. I always see you tweeting up a storm about your use of AI agents.
Starting point is 00:02:25 At first, Devin was your boy. And then I think at some point you're like, I freaking hate Devin. And so what's going on? All my homies hate Devin. But for a while, Dax literally has a lot. Dax literally has a tweet like Devon's my boy Some people see a blank terminal and they get overwhelmed But some people see that empty canvas and know they're gonna paint it with productivity
Starting point is 00:02:47 They're gonna paint it with coffee Why should you drink terminal coffee? Here's why Terminal coffee? Yeah, I drink it Yeah, so I'm definitely trying to force myself to push these things and see how much I can get out of it because I think I'm not someone that thinks that it's like going to be a majority of my work, but I need to push it to that degree to see what it can actually do and where the boundaries are. So I've been trying to do as much as possible. I've had very new varying degrees of success.
Starting point is 00:03:47 Like I think I have a feel on when it works well, when I want to push work there when I don't. I think what I've settled into now is I will, I'm actively coding. I'm actually doing work. I'll reach a point where the work can be split up into two parts. Like there's a dumber part and there's a more intense part. I'll give the dumber part to the AI, let it do its thing while I do the more intense part. Then I'll check in to see, okay, how did it do? And sometimes a lot of times, you know, it ends up successfully doing it correctly.
Starting point is 00:04:21 But yeah, I'm like not someone that like lets it drive fully. I also do not use them at all in early stages of a code base. Like so for open code, we basically rewrote it from scratch. Almost none of it was built using AI. It was all manually created because we're figuring out what abstractions are, what patterns there are. There's not enough consistency in the code base for an LLM to really like do a good job when you give it a task. Dax, would you say that's a more mature code basis? Primarily though, because you look down on everyone else.
Starting point is 00:04:50 So like getting code back from the LLM is not going to be good enough. Like would you say it's different for prime or? I don't think so. I mean, for me, it's just like... Good question. I'm not going to answer that. I'll just let the joke land. Prime can respond to that insult.
Starting point is 00:05:15 Well, we've run into it ourselves, actually. We probably vibed a little too hard at the beginning of Mordoria when we should have done it at the end. Like we would have been a lot better doing like days five and six being harder on vibes. day one through three harder on smashing our face against the keyboard trying a bunch of different stuff and getting a feel for a lot of items. Yeah, in fact, I still look back on that time
Starting point is 00:05:38 and one of the biggest takeaways I have is that even though I wanted to throw away 100% of the code that was generated, it also gave me a bunch of ideas about things I did and did not like and a lot of the dangers with like Love 2D that I just, I would just had to painfully discover them in a much slower process
Starting point is 00:05:54 and said I'm just like, dude, our tower's always green. Oh yeah, set, color is a global state okay okay i see how this thing intersects or intersects this thing and i just got like a really fast learning thing so i'm still kind of on the fence about even vibe coding in the beginning when you don't know a problem there's something about that that i'm interesting at least yeah i think there are some cases where i still find it useful if i throw away everything there were some cases in open code where i was porting functionality from one language to another and the original code I didn't write. So I had it port it, had the LM port it first, then I read through the whole
Starting point is 00:06:30 thing. And oftentimes it threw away 90% of it, like, we wrote it entirely. But that was a little bit easier than trying to learn it in the other language first and then port it to the next language. So yeah, I find it useful even if I don't end up using the code itself. It also is cool that it's, at least for me, it seems like it's really pushing down the cost of making a prototype. And like prototypes actually can get thrown away. Like, The problem is most of the time up until now, prototypes so expensive to make that you're like, oh, we cannot throw this away.
Starting point is 00:07:00 We cannot just, like, dump this code in the trash bin and move on. But now you're like, oh, it could take me a day. I'll just, like, do a bunch of random stuff. And then you get a feel for it. And they say, okay, cool, it's a good idea or it's a bad idea. And then you can make a decision based on that. Yeah. Everything I ever built, like in every internal tool I've built throughout my entire career
Starting point is 00:07:19 has been a, hey, let's try something out. Mash a bunch of code. and then people are like, oh, I like that. We're going to use that now. And then you're just like, but I thought we were just testing. Okay. And then it's just like now it's just like the scramble to meet people's new expectations and then on top of it trying to fix up this kind of crappy experience that you have built.
Starting point is 00:07:41 But Dax, what percentage though? Yeah, what percentage are you hitting right now on your open? I have no idea to be honest. You're not taking metrics. Do you guys have a sense of it? No, I'm not, I'm not trying to any of it. For some projects? I've done 100%.
Starting point is 00:07:55 I just did one that was 100%. Yeah, and people might discover what that is. They will discover it actually this week. Not because it's so bad that they're going to find out. But yeah, it was just like a standard website. You know what I mean? Just like literally the most crud of websites. So it was perfect.
Starting point is 00:08:17 I just typed the things I wanted and then it did that. And I'm like, can you make it so that I can change the colors? And it's like, yeah, I can do that. You know, it's, I was like, oh, this was easy. I don't know any, I do not know close to enough tailwind to make this look like this. Adam would be yelling at me for days. All right, so give us the percent.
Starting point is 00:08:37 Dax, just say it. You got a guess. You got to guess. I don't, in terms of, like, completely hands off, like letting it, like, build features. Um, I think I have to split it into two kinds of work because a lot of my work is building, tools and that kind of work is like too weird for an lm like it's not like a standard web app or
Starting point is 00:08:59 anything so unfortunately i can't use it that much but then on more mature things like our terminal code base we need to add like uh for example like stripe was like we need you to add a terms of service page whatever that was like 100 so i think for the more mature projects i can like maybe half the functionality i can probably do uh with these tools again given it's like a very standard web application that isn't too weird um follow up to that one with the even with the terms of service would it even matter if it was a mature code base or not like that's just something that you're not super engaged in and you don't really care if the code is great or bad you just want to be able to give it a big gigantic text and have someone scroll so it's like i don't care you accomplish this just get it
Starting point is 00:09:43 done because we just need it quick question yeah i mean to to some degree to some degree yes but then there's always some patterns like, you know, if you use CSS or certain patterns in CSS, you don't want this thing to look like totally random. Like you don't want it to use the most extreme case is like it uses tailwind just for one part of your, your app. So I still am worth. I don't feel like there's never going to come a day where someone doesn't need to like look into this or change this or manually touch it.
Starting point is 00:10:12 So I'm still pretty concerned about about what that actual output is. As tired as his metaphor is, it does feel like. keep showing up. If you treat it like a dumb intern, you would never let the dumb intern be in charge in the beginning of a project, like establishing the code base. You'd probably want to put them in an environment where there's patterns, things they can look at. You probably give them guidance on like, oh, it's like this, but then, you know, just modify it to, for this use case. And then you'd make sure what they're pushing like matches everything else. So I'd like to treat it like there's a dumb intern sitting next to me with their own laptop. And I can not give them tasks in the core
Starting point is 00:10:50 their shoulder every once in a while. I think that flow is probably worked best for me. Before Brime goes on a rant about hating this analogy. I'm not going to. Oh, okay. You can, though. I think it's good.
Starting point is 00:10:59 Or, you know, but I just wanted a quick clarification on our terms of service for terminal. dot shop. You're not telling me we vibe coded the actual terms of service, though, right? That was a real document that we used. Yeah, have you read them yet?
Starting point is 00:11:15 Well, so what I asked? Oh, no. No, it was generated. Josh, hang it out. Josh, take it out. Oh, no. I took what Stripe said we needed. I gave the chat.
Starting point is 00:11:28 APT. Then I asked it, don't generate this blindly. Ask me for questions step by step until you have enough information to fill this out. So then it asked me questions like, okay,
Starting point is 00:11:38 under this scenario, do you offer a return? I say yes. Under this scenario, blah, blah. And then I went through that process and then it generated a full term of service. Did anyone read this full term to service afterwards?
Starting point is 00:11:48 Yeah, it wasn't that long. It wasn't anything crazy. Just making sure. But it was generated. I want to go read it now and see if there's any great hallucinations in there. How many M dashes are in our terms of service? That's what I need to know right now. You know what the worst thing is?
Starting point is 00:12:06 I use normal hyphens in my posts all the time, and people keep accusing me of generating it with chat GPT, because they can't tell that's a normal hyphen person. No, that's not the reason. It's because your posts are so mediocre, Dax. That's what's going on. Wow. I should just leave now. Oh, well, let's pass it over to Casey.
Starting point is 00:12:27 I want to hear Casey. Have you used AI at all, or do you use it a lot, or do you hate it? That's what I want to know. Let's hear it. So it depends on what you mean. I have not used any AI coding stuff. Probably that may be partially primes fault, which is that I can't, you had me come on one time and look at the code that.
Starting point is 00:12:48 that Devin had generated for your game. And it was... To be fair, that was pure vibe coding, meaning that I let Twitch control it for like 8, 10 hours, and we just vibe coded for 10 hours, and Twitch Jet just drove it. Omega vibe coding. Yeah, that's like...
Starting point is 00:13:03 We're talking about that as, like, pinnacle vibe coding. And after I saw that, I was like, well, this technology is going nowhere. So that may be Prime's fault, because maybe my first look at AI coding should have been in a more favorite. environment where like somebody who'd had a lot of experience
Starting point is 00:13:21 knowing how to put the prompts in or something something anything I don't know right but I definitely was like well this this is it was some of the worst code I'd ever seen I actually think that if you do a pure vibe coding it would it would generally come out near the same right no matter how good your
Starting point is 00:13:38 prompts are you're going to get the the things that you hated were the exact reasons what make LLMs week when it comes to large scale projects I gotta say there's no way the average vibe coding one is going to be as bad as having Twitch chat run vibe coding for 10 hours. The ideas will be better, true. But if you don't know what a vector is and you've like never built a game and you're like, build me a game,
Starting point is 00:14:01 you're not going to know that it's going to just in line a bunch of vector operations all over the place. Like you just won't know those things because you don't have the foundation to know them. That part I agree. That's what we're talking about. That's what me and Casey are talking about. The idea of anime wifu's and chussies, which is cheese goldmines. Demonotized. Demonitized.
Starting point is 00:14:18 Trust me, YouTube does not know what that means. And so nobody knows what that means. That's the problem. It's provocative. Sorry, Casey. Keep going. So, you know, I mean, that, I, obviously, I know that maybe that wasn't the best possible introduction to AI coding tools. But I guess from my perspective, I don't really have much motivation to use them because mostly it's really about what are
Starting point is 00:14:47 you trying to do when you're programming to me. And if your goal when you're programming is I just want to get something, like, I just want this thing to work. Like, that's my goal when programming. Then I can understand the attraction of these AI things because it's like, well, you know, I just want the code to work and do whatever it is that I ask it to do. And they do seem to be able to sort of do that eventually. Like, even the thing that Prime was doing, you could never ship that code, but it sort of did something vaguely like what the prompts were. So if that's like your idea of what programming is to begin with, then not only does that make some sense, but also these things are going to get better or have gotten better since Prime use them,
Starting point is 00:15:31 I should say. Like, who knows how good they'll eventually get, but, you know, they've gotten better since then anyway, at least a little bit. And so, you know, maybe that code quality improves. For me, like, the entire point of programming was that if something already had been done, I don't have to do it again, right? And so there's sort of a fundamental underlying mismatch with AI and my whole idea of what programming is, which is like, if what this thing is doing is it's going to mush together a bunch of weird code that's going to feed into some preprocessor that's going to feed into React, that's going to feed into the DOM, it's going to feed into the web browser that's eventually going to make this button, to me that's just like stacking another piece of failure, which is whatever
Starting point is 00:16:12 garbage the AI did onto a giant pile of failure, which is all of these terrible systems that are like, why couldn't I just place the frickin' button there in the first place? Right? Like, why did I need an AI to do all these things? Why is it so bad, right? Because that's been my attitude on web stuff for this whole, like, for the entire time I've seen it sort of happening off to the side. I'm just like, why is this stuff so bad?
Starting point is 00:16:35 You know, I've programmed webpages. I've hand-coded some. I also made my own generator for one. We used to have a website that was fancier than our current website until I decided I don't really care about having a website much anymore. SSH, by the way. You should just use that. Yeah, just use SSH to order my coffee and everything else. And so, like, I've done a bunch of work with it.
Starting point is 00:16:54 And, you know, our website was very, very fast, right? Because I wanted to come up quickly. And so I interacted with a lot of the different stuff that you need to do. Do that, like, for example, source sets in images and things like this. And if you're a graphics programmer and you interact with that stuff, you're just immediately, like, this is so bad. Like, the people who designed it had no idea how this kind of system needs to work in order to actually be performant and scalable, right? They just had no idea, right? Because they made stress sets based on media queries, which is exactly the opposite of what
Starting point is 00:17:27 you want to do, because they wanted to be able to do pre-fetches early, but you can't really do that because the way that images tend to be used, you don't know exactly what the pixel ratio is going to be versus the display size. And so it's the exact wrong thing. And you literally can't use source sets the way a graphics programmer would to get the exact right image resolution for the use case because it's just designed poorly. And that's, you hit that over and over and over again. The positioning in CSS is the same way, clearly designed by people who had no idea how to do a good layout tool. And so when I look at the AI stuff, a lot of times I was looking at it and going like, okay, these things that people are talking about, a lot of people say it brings the fun back to programming. Yeah, but you guys took the fun out of it in the first place. So why don't you just stop? doing that and then you wouldn't need the AI to put the fun back in. You just have a pleasant to use API. But that's like so far from anyone's conceptualization. Like they don't realize that they pooped the turd.
Starting point is 00:18:24 And now they're so happy that someone, that they have an AI to clean the turd off of their floor for them, right? Just stop crapping in the house. Guys, build a toilet. That's all it took, right? So AI to me just kind of looks like that right now. And it's not to say that it might not get to a point where it looks like something else to me,
Starting point is 00:18:41 because I could see, like, the reinforcement learning stuff is better now. I like that approach to AI better. I like the idea that it's going to refine ideas and work on things. That sounds more like something that can produce usable code in, like, a novel environment maybe,
Starting point is 00:18:56 so it's not just slopping from, like, you know, it's not just serving as my sack overflow cut and paste. But, you know, currently I'm just, like, annoyed with the whole thing. It's like, it's like an giant waste of CPU design because, like, TensorFlow cores are pretty much useless for anything, in my opinion, other than doing this.
Starting point is 00:19:13 It's this huge silicon investment, data center, invests, all this stuff. And so far, the big thing that people are talking about is, like, well, it does all this crap code we didn't want to have to write. But the only reason for that crap code is we didn't do a good job with everything else, right? If you told me the AI was going to really improve that stack, like, hey, guys, the AI is way smarter than humans, and it's going to fix this thing. It's going to be as if people who knew what they were doing had made it. Then I'm like, yes, the AI is here to save us, thank God.
Starting point is 00:19:44 But so far no one has demonstrated anything like that. So I'm still waiting for something for me to get excited about. So that's my rant. It might help you to know. Dax used AI to help us make Terminal Feud. So, I mean, that's kind of like something. What's feud? Family Feud game show, loosely inspired, not trademarked at all.
Starting point is 00:20:05 To be clear. It does sound somewhat close to a trademark. Yeah. No, is it loosely inspired by? Loose, loosely. So, I mean, that's kind of like something that is good for humanity. No, not that, not that, not that, no, no, no, no, no. Oh, we got a big buzzer.
Starting point is 00:20:24 Not this one. Did we get that for the big buzzer, that? This is the example of what this is, it was not like. Yeah, it wasn't like that. It was not, like, I have this. I don't know who gave this to me. I think it was like a gift. Someone thought I was really into family theater.
Starting point is 00:20:37 Are you not? That's me. I'm the one who watched it on. I'm into terminal feud, which is a totally different thing. I just happened to think of it when you said family feud for no real reason. It just popped into my head randomly. Yes, it's so different. Like, in that game show, they ask questions and give answers,
Starting point is 00:20:55 and ours, it's kind of like that too, but different. They don't even have a terminal in theirs. Yeah. Exactly. So what is that? Also, our guy doesn't look like this guy. There's like a key difference. And there's two hosts for ours.
Starting point is 00:21:07 That's true. That's true. So that's different. I can't remember who the original host was way, way back in the day. We're not supposed to talk about it. It's some guy who loved kissing contestants and kissing. Yes, that's right. He did.
Starting point is 00:21:20 I only remember. Richard. Richard. Yeah. All I know is we had no idea. And Bigg is like, okay, here's the thing is every time there's a girl contestant, you need to kiss her. I'm like, we're not doing.
Starting point is 00:21:32 That doesn't sound like a good idea. And I are not going to do that. Yeah, Began was like, guys, it's a, Richard Dawson. It's a well-known meme. On the show is people, kids, people, and I'm like, first off... For people over 40, maybe. Yeah, I'm like 30 years ago. Secondly, no.
Starting point is 00:21:50 No. Even if it was a good meme, I'm still not doing it. He really tried for 10 minutes to convince us it would be a good idea. Yeah, it was actually an excessive period of time. Backs was there. He just kept, and it was like multiple times throughout the day. But seriously, like, you really should. You should just get them.
Starting point is 00:22:08 And then he's like pulling up, he's pulling up like highlight. compilations from it where the host is like kissing all these random girls and you're like, that's crazy. I can't believe they got away with this on TV. It would be an, it would have been an amazing reference for the people that got it, but it would have been horrifying for everyone else, which would be 90% of people. But saying it like that makes it sound funnier for me. You're not even allowed to say that because that's TJ's humor in a nutshell.
Starting point is 00:22:34 And TJ's like, oh, a bunch of people wouldn't get the joke. I'm in. What's the joke? All right. So, Casey, your percentage is effectively zero then. It's not effectively zero. It's literally zero. Okay.
Starting point is 00:22:49 Have you ever just tried to like just, I don't want to, I don't care about getting this server or something out that you just don't care about? You just like, Chad GPT, write me a Python thing to serve out this thing and add in Twitch login. You've never done anything like that? Well, no, because my experience, so one of the reasons I don't ship web stuff hardly ever, right? I mean, I do. So I wrote a mailing list thing in C that still runs our mailing list to this day.
Starting point is 00:23:15 It's a little, you know, if you go on like the molyrocket.com, right? And there's a thing at the bottom that's like type in your email address to subscribe, that thing. So, I mean, my experience with web stuff is there's only two things. There's one that I write myself in C and that I run on a server that I control. And that thing will run forever. This thing has run forever, basically, right? The only thing that I have to do for maintenance is because in the galaxy brain, astronomically ridiculous world of the web, you can't even get a signed certificate that's valid for longer than a year. So either you run let's encrypt, right, or you actually have to manually go and update this certificate once a year.
Starting point is 00:24:01 So there is one small maintenance thing that has to happen. either that or I use something like you said where you know forget vibe coding but just you know you use something even as python whatever and that thing will be broken in in six months because of some updates where you will not be able to deploy it on some new machine for whatever reason without recompiling it or changing a few things or whatever else so I just I don't like things that you can't do once and have them run forever so I rarely deploy web things in that way if I'm going to actually do it I will do it that way and for example example, that thing also had a, that particular little piece that I built, it also had a thing that would do Twitch to see if I was live, because this was back in the days when I did Twitch, that's how long ago I shipped this thing. And that part, of course, eventually broke. And I can't use it anymore. Why? Because Twitch changed their API. Because that's the nature of the web. The web has no idea about the idea, like, they literally can't conceive of something that could run forever. They have no idea what that looks like. They're like, things are just,
Starting point is 00:25:03 They're only going to work for a few weeks, guys. That's what we ship. And everyone thinks it's fine to just completely change their architecture every, you know, month or whatever. And if everyone's software breaks, it's okay because they were all busy fixing all these other things that broke that week. They'll never even notice that we push this completely different thing, right? And so I just don't do that sort of stuff for that reason. Like I've said before about AI, if I did that kind of code, I could totally, like I probably would use it.
Starting point is 00:25:31 Because it's so annoying. I don't want to learn this stuff. It's so ephemeral, right? You would learn how to do this one thing. And then that knowledge would be worthless in five weeks because they'll have completely changed how that thing worked, right? Can I pause you for a second? Yeah.
Starting point is 00:25:46 Dax, you've got to get out slack. Not only can we hear that. Wait, what? We can hear when you get to slack. And we get to watch your eyes going up and down. You're looking so serious. I'm not, I was just looking at the screen. I wasn't looking at Slack.
Starting point is 00:25:58 That's the wrong screen for Slack, dude. He doesn't put it on this monitor. Okay. something's going on over there. We hear that. I got it. I got it. The fact of the thing we interrupted,
Starting point is 00:26:06 Interrupted Casey's rant, I was just wondering, Dax, how's the open code rewrite going? Yeah. I mean, Casey, I know about your thing about how APIs change. Dax, I'm super happy you got rid of some of your APIs.
Starting point is 00:26:19 Like, that was such a good move. It's not. Stop doing this, guys. APIs are supposed to work. It wasn't an API, though, to be fair. It's just... I don't know what open code is,
Starting point is 00:26:29 so I'm not criticized it, but I'm just saying it. Yeah. No, I just wanted to get done. Yeah, it was just a config file location. Yeah. End name, potentially. Yeah, we, we like, when we did the character animation stuff I worked on at Rad, we changed the API one time.
Starting point is 00:26:45 And it was only because we had very few customers at that point, right? All that I can relate to. And from then on, like, I just made sure the API worked forever. Like, it never broke. Even the files. In fact, we were forwards and backwards compatible on files. So like basically newer versions could load older files, older versions could load newer files, and they just wouldn't understand like the parts that were new or whatever and that sort of thing.
Starting point is 00:27:09 And we took that stuff very seriously because we're like, look, we don't want to break. Like people are supposed to learn this thing once and it's supposed to be easy to use, right? You're supposed to just humans are supposed to walk up this thing and be able to use it. And we took that very seriously. And, you know, the parts I think were failings of some of those API designs were anything that wasn't easy. Like, I know exactly which parts we screwed up because I'm like, that part wasn't as as straightforward as it could have been. Or like, there's ways we could have done this part better, right? And so, you know, in nowadays, people don't take any of that seriously, right?
Starting point is 00:27:43 They're just like, it doesn't matter. We just, we do whatever. We, I think develop in public is kind of this idea, right? We just put it out there and it's just, it completely fluid. It could change at any time. There's no concept of, you know, what it's supposed to do. or any of that sort of stuff. And yeah, I mean, I don't blame anyone for using an AI in that environment because, like I said,
Starting point is 00:28:05 what else are you going to do? Like, it's not satisfying. It's not fun. But I wish there would be some recognition that this problem was created. Like, it does not exist in programming normally. It exists when you, when you have decided to create layers of abstraction and those layers are bad. That's when this happens. Because when those layers are good, it's pleasant to use.
Starting point is 00:28:26 And you're not wondering all the time, how would I change the color of this thing? Or how would I center this button? But that's become so normalized in WebNow that even the act of centering a button could, in certain circumstances, be so complicated that I don't even know how to do it by a straightforward, like, one-line thing I might type in. That's become so normalized because of such horrifically bad design. I mean, it's worth underscoring. You have to be so bad at what you're doing to make a system where centering is difficult. Like, you have to be exceptionally terrible at what you've done to get to that point, and nobody seems to think this is a critical issue, right?
Starting point is 00:29:04 They're just like, yeah, it's been that way forever. We've tried to fix centering like 17 times. We've sort of half succeeded by now, but not really. Like, it still actually kind of sucks, and you would much rather just write a single line of JavaScript code that could actually center something because that's trivial to do, right? Whereas in CSS, it's this enormous annoyance to do these sorts of things. So I feel like that's just, it's very,
Starting point is 00:29:26 very, very frustrating is what I would say. It's very, very frustrating. And I wish that part would get acknowledged. And the AI part is not really, so to me, the AI part is not that interesting, but I totally understand why it's valuable, because, yeah, I would, I would want it too if I was forced to use it. If I was forced to use that sort of stuff, I would 100% want it. I love that that's somehow tied into AI. That's what it's doing. That's what I see everyone doing with it. Like, you go look at, like, what's this demo of this AI? That's what it did. They never show an AI like, oh, this AI recreated a browser that's way better with a better design that's really easy to program web pages in or something, right? They never show that. What they show is, hey, it put forth 30,000 lines of code that's accomplishing something incredibly simple. Like, so incredibly simple that if you had written it from scratch, it would probably take less than 30 lines in the first place, less than 3,000 lines in the first place. But, like, because they're sitting on this gigantic stack, it took 30.
Starting point is 00:30:27 thousand lines of code and maybe that's not even that unreasonable for this thing at that point. It's so nuts, guys. Anyway, this stuff, you know, I mean, people like me have been ranting about this stuff forever. We've been ranting about it for 20 years. We're never going to have a different opinion about it because that's just how we feel about it. I'm sure everyone disagrees. I'm sure everyone in the U.T.coms could be like, Kay says nobody's talking about. This stuff is amazing.
Starting point is 00:30:48 Okay, maybe. I'm old. I don't have to care. You guys do what you want. Right? But at least for someone who's worked on API design a lot in their career, I look at the stuff and I'm just like, you're just piling another disaster on top of a giant disaster. And I don't think it bodes well for security, right?
Starting point is 00:31:06 I don't think it bodes well for performance. I don't think it bodes well for maintainability unless these AIs get better, to be honest. Which, you know, I certainly hope they do. And anyway, rant off. There you go. All right. 0% from Casey, Dax with an I don't know. TJ, where are you at?
Starting point is 00:31:23 I'll go the It Depends answer to. like decks. I've been trying it in a variety of different levels like on different projects. Like I said, I just did one where 100% I wanted to see how far I could get it's like a simple site
Starting point is 00:31:41 overall, but it was cool that I didn't have to do anything. I can click a button it deploys very exciting. And like pushed I could see that enabling a bunch of people to get to a like MVP version of an idea
Starting point is 00:31:57 that then maybe like they can validate and make sure it makes sense and then maybe they throw away the whole site maybe they throw away a bunch of it maybe they keep it because it's fine like i don't know if you guys have seen craigslist yeah billion dollars like it's a successful company and it's like raw HTML links and squares so like it could it could work like there's a bunch of companies that have made way more money than me on like terrible tech stacks and that's fine and like depends what you're shooting for depends what you're wanting to do so i think in like those verticals I can see a lot of these being like
Starting point is 00:32:30 very powerful especially if you you know if you're like prime you're more of an ideas guy like it'd be really helpful to I prox TJie you weren't supposed to laugh that hard you made me break on that one
Starting point is 00:32:43 you said it in the terminal documentary that's the only reason I said that but I prompt you to build stuff TJ you're an idea exactly I know I'm like an LLM actually Adams are LLM but that's fine. Adam intelligence. That's what AI stands for. So, so I think there, there are some verticals
Starting point is 00:33:03 like in that arena or like Dax is saying where there's like an offshoot of an existing project. You have a bunch of pretty standard stuff. You want to do a new standard thing. I can totally see like if you're on a long running project, you have seen this. You have a bunch of tickets that are relatively straightforward and nobody has time to close them. It's just like, I've been there. I've been on these things, right? So it's like, okay, cool. What if we could, like, send an LLM to go try them? It can add a test.
Starting point is 00:33:35 We can see we have a good test suite. We're happy with our CI. We're good with all this other stuff. Sweet. We just turned one hour of my time into 40 hours of my time for clearing out a bunch of these dumb little annoyances or fixing stuff. So there's a whole bunch of areas there where I can see already. We don't need, like, a 10x improvement.
Starting point is 00:33:56 in LLM performance that I think would be valuable and like probably will get integrated in lots of places in like better and better ways. I'm a big fan of like not writing log statements manually. Like Prime and I were just talking about this. Like there's lots of little things where as I'm coding where if I have like an auto complete tab, it's very obvious what my intent is. Like it doesn't take a super genius to figure out I just wrote a variable. Now I started telling logging dot. Info.
Starting point is 00:34:28 I've done blogging. Info and now it says describe the thing, here it is, printed out, format, done. And those things like,
Starting point is 00:34:35 they add up. They really, like, they do. There's a bunch of stuff like this or, you know, you're writing Golang,
Starting point is 00:34:40 and it can complete the if statement with the correct error wrapping and a bunch of other stuff like that. Not just returning the air, but like the proper thing that you would normally skip because you're annoyed by writing the air handling. So, so depending on the project,
Starting point is 00:34:54 um, like, I would have a, I would feel kind of dumb for most projects right now, not using like an LLM tab complete at least, because I just feel like it's a net benefit and I can skip it whenever I don't want to use it. Up to, for some projects, I think like, yeah, I want to make a goofy website. I want to do something fast. I want to, it's very simple straightforward.
Starting point is 00:35:17 I could like completely see vibe coding that to 100%. And I also was like, to Casey's point, I don't need the website to work in six. months, it's going to be gone. Right? So it's like, it's fine. It's for a short thing or it's for a one day thing or a promotional or whatever. Like, we can do that. So, yeah, like I would say 25% to 100%, you know what I'm saying? Like, in that range. But I'm also, but part of it too, like Dax is saying, I'm also pushing it to explore because I want to be like informed about about those things as we're like trying out different stuff. Yeah. Prime. What about you?
Starting point is 00:35:52 Oh, hey, thank you, TJ, for asking. So I got you. I do the same cycle every single time, which is, okay, I'm going to just, like, really lean into this vibe coding thing. I'm just going to do it. I'm just going to start going, and I've gotten a lot better. Hey, you know, one thing I do now in Cursor is I ask it to tell me,
Starting point is 00:36:11 first come up with the plan, where it would change what files, why would it change them, and really break it down and then ask it to complete it after I've corrected it like five times. But I even do no mistakes at the end now, too, which is huge. No mistakes, grandmother's in danger.
Starting point is 00:36:24 And so it's like, I do all these things. like really you know i'm pretty good at it now i am officially like the machine uh what's called the machine spirits whisper from uh warhammer 40k like i am a high priest at this point i'm feeling pretty good about it and i always i've come to the same conclusion multiple times thus far which is that if it's a project i care about i could have accomplished the same thing when i reach a certain level of complexity and made it better and then be able to add things faster eventually they're just like there's an inflection point that exists somewhere that's really painful and kind of
Starting point is 00:36:57 annoying once you get into like the uh once you once you get into the uh you know like the nitty of things but at the same time there's a whole bunch of projects that i just want to create and just get them done like a good example of this is that chessy project we're creating right now where we're going to have chat versus chat and chat versus uh streamer and it's just like okay i just want to get something up because like is this even fun i want to make sure like this the idea is fun first before we do it and i've already saying okay we need to add an additional Notation people cannot understand when I say from this space dash this space people are like capital letters this space I'm like no it's lowercase and they're like okay this space space space
Starting point is 00:37:35 This one I'm like no I gave you the exact format how are you still screwing this up and so it's like okay I can see all these things that I do incorrectly That would just make life way easier for people if people can just be like pawn h4. It's just like okay Can I even do that one probably I can't do that one just due to the fact that there's a ponds and I don't know if you can move it that way and how that would work. But you get the idea where it would be pretty fun to kind of work on. And so I like them in that case and I've been using it more and more. But still at the end of the day, it's like whenever I care about a project, what I want to do is I want to learn the problem space. And I find myself really struggling to learn the problem space if I don't code it myself.
Starting point is 00:38:18 If I vibe code it, I have this like kind of like this really large void that exists where it's like I have to read the code, understand what the code does and then attempt to understand the edge conditions, which I never programmed around all the if statements, all that never were formulated in my head and understood it. So it's just like Dax was talking about with the rewrite to open code. The reason why you could rewrite open code was because you went through the process of writing open code. Like you would not have started on whatever design you achieved. You started on the previous design.
Starting point is 00:38:44 That's why you're changing, you know, the hidden file in the config, whatever, you know, like all these things you're changing due to that. And so there's like this, I have to gauge what side it is. And if that's the case, if it's something I don't care about, I don't care if it's 80%, 90%, whatever. It's just a process of me getting out an idea. But when I do care, it seems like I go almost towards 0%. Because it's like, I want the long-term vision on this thing. And then I don't really consider something like Super Maven or Autocomplete to be AI space when I say AI.
Starting point is 00:39:15 Just because it's like, did it correctly guess my for loop? Sure. Okay, that's just like a slightly better snippets. That's all that is. It's like, oh, did it guess my snippet correct? Awesome. Oh, it didn't guess my snippet. snippet correct, I'll just type five more characters and it will probably catch up, or I'll just type
Starting point is 00:39:27 the whole thing myself. So I don't really like consider a snippet park. Auto-complete than just searched the text, right? Exactly. And so that one feels like, I feel like I've said this for a long time, which is that like the small, I look at AI kind of like a weatherman. If you ask someone that's, or a meteorologist, if you ask a meteorologist, what's the weather going to be in 30 minutes? I know you wouldn't actually do this, but let's just pretend you didn't. There's a real person. The guys who do like cancer and Gemini stuff? Yeah, yeah, exactly. you'd be like, what's the weather in 30 minutes?
Starting point is 00:39:56 They'd probably give you a fairly accurate weather. It'd only be off by maybe one degree centigrade. Overall, it'd be a rare case that they're off by more than that. And so then as you go like one day or two days or five days, that prediction is effectively just insanity by the end. You know, what's going to happen in five days is just a made-up number on my phone that I look at every single time and I'm disappointed afterwards when it's not that thing. And so it's like, okay, that's how I treat it.
Starting point is 00:40:19 So if I can get it just online, then it's just like so accurate because I'm asking for the weather in 10 minutes. It's like, yeah, I can get like 95% of it almost every single time. And so that feels right. I'm willing to go back and give it another shot and really lean into it. Anyways, so there you go. There's my long answer, which is it's either zero or I'm close to full. I think that kind of brings up another point.
Starting point is 00:40:42 I think a lot of the discussion and even products. Oh my God, of course, the vacuum turns on row and I start talking. Your name is Daxiom for a reason. It's Daxum now, yeah. A lot of the, yeah, so a lot of these products are so, focus on the marketing tour, are focused on the zero to one, right? Like,
Starting point is 00:40:57 you have nothing but an idea, and here's how you get to the, the first version of it. And there's definitely use cases for that. Like, you know, DJ, both, like, TJ and Prime brought up some cases where that is super valuable. I don't find myself in too many of those cases.
Starting point is 00:41:12 Most of what I have are either existing projects or things that I'm kicking off that I'm know I'm, like, investing in for the long term. I need to maintain for the long term. So, I find it frustrating that the discussion gets stuck on the zero to one. Like, do the zero to one really well. It's like,
Starting point is 00:41:29 I don't really care about that. When I'm going from zero to one for something serious, like Prime just said, I'm going to build it myself because I'm discovering the patterns, the things that we need, like what makes sense. And I'm more interested in bringing AI in once I'm at a good place there, and it's now like an iterative project or like a maintenance project.
Starting point is 00:41:48 And I don't think a lot of the discussion or even the tools are focused in that space. Like all the big flashy tools that have like, you know, done quote unquote really well and raised a bunch of money all around. Hey, bring your idea to life. But I think we're going to go through this phase where we'll see where there's lands, but I think oftentimes people imagine that, oh, when you make something more accessible, everyone's doing it more.
Starting point is 00:42:12 Like you make creating software more accessible. That means every single person is going to be building software. But it could also do this much more boring thing where a lot of people try it out. And then there's like a trend. where everyone's making their own software, and then just goes back to how it was, where everyone realizes, yeah,
Starting point is 00:42:28 I don't actually want to be doing this, you know? I feel like we kind of already saw, like, a micro version of this happened with, like, the game thing, because there was this phase
Starting point is 00:42:36 where everyone was like, vibe coding games, like everyone's going to be vibe coding a game and all these games are going to be five coded. And we saw, like, a trend where that was cool for a while, people,
Starting point is 00:42:44 like, enjoyed it. It was fun. But, like, you know, not a large percentage of people ended up sticking with it. I don't know anybody that has stuck with it.
Starting point is 00:42:52 I think we're in this phase where it feels like to be fair us prime we're still working on us we're still working on it it's true we were kind of we have spent many yeah we spent many hours making it nice now doing a proper layout system doing proper card system all that stuff
Starting point is 00:43:07 yeah yeah I mean I also count that as a win because you know it brought you it like gave you the motivation to do the initial part and that you stuck with it to the end right so you can say the tool effectively converted you guys there but yeah it might just be a really really small percentage so I feel this whole zero to one focus of being like, well, like one shot my idea.
Starting point is 00:43:26 It's cool for like demos and marketing, but practically day-to-day, most people are iterating on old existing code bases, not taking off on new ideas in a week. Part of it is that like, look, it's not as big of a sale to say like, hey, we're just making this thing for existing engineers that makes them incrementally better. It's way better to be like, everyone in the world will be able to create software. Like, that's probably a better pitch. Do you think that's why they're focusing on it? Yeah, the tam.
Starting point is 00:43:50 The tam is huge. Or is that not why? I don't know. I'm just asking. No, I think it makes sense. And I generally am in favor of stuff like that. Like, they should try that. Like, go ahead and see how accessible you can make it and see if you can, is this a thing
Starting point is 00:44:03 that's in everyone's pockets that people do every single day? Sure, go explore that. But to me, that's, my only annoyance is that that's occupying, like, almost 100% of the conversation. There's like, and we've talked about, like, working on open code, we're more gearing it towards like bigger established companies. They all tell us like, yeah, nobody is like doing the boring version of this, which is we have an established code base and we just need to be able to iterate. Like exactly it's in case that TJ brought up.
Starting point is 00:44:34 There's a backlog of 100 things that's never a priority. How do we build a tool that helps, helps get that down? A lot more boring than the other thing, but practically that might just end up being where this stuff gets used. And I could honestly see most of software engineering not totally changing besides that. The thing I would add with that, too, is like, if you make it a lot easier to make prototypes, then, like, that does change how, like, professional software developers can iterate on things. And that's, like, also can change the game for stuff without making it so that, like, it's useless to no programming skills.
Starting point is 00:45:11 Right? It's like, right? A bunch of things are way more accessible now than they've ever been before, and I still don't do any of them. like woodworking or something. Like, you know what I mean? Like, they have tools now for you to make crazy things with woodworking or like 3D printing or whatever, right? Like everyone's like, everyone's going to 3D print every piece of furniture in their house. They're going to 3D print all of their forks.
Starting point is 00:45:34 You're never going to buy a fork again. And I'm like, I don't want to do that. I just want to go to the store and buy new forks. Like, that's fine. I hate the eight hours to wait until your fork's done and then you realize it's too small and you're like, dang it. Oh, no, I put, I uploaded spree. Oh, shoot. Spork.
Starting point is 00:45:51 And it's kind of stair steps, so it, like, catches on your mouth when you're, it's like not quite smooth. Yes. But so, like, that's the other thing I feel like is missing a lot from the conversation. It's people like, oh, it's so easy to go zero to one now. So, like, programming's useless. And you're like, dude, if I could go zero to one on a bunch of stuff that I can use for myself or, like, to test, or to verify an idea or to do a bunch of other stuff, that's awesome. that can be like a huge change in the way that I do stuff without making it so like it's useless to code.
Starting point is 00:46:23 Actually, coding a thousand X's me on all of those categories compared to random person who doesn't know the words they're typing saying, please make website. Right. If I can be like, I need a website with these characteristics, make sure we have a database, it should have indexes on these columns. I'm going to be querying in these kinds of ways with this kind of traffic. It needs to be able to handle this sort of login flow.
Starting point is 00:46:44 Please use OAuth. Don't you like my website will turn out better vibe coded or not right so it's like the skills are still useful That's the thing I'm like guys it's still good to know things yeah yeah the other thing you mentioned like I think Some of these headlines around I think I think YC is guilty of this they'll say stuff like we interviewed all of our founders and like they're saying 95% their code bases entirely vibe coded but a very simple explanation for that is these are early stage companies. When you go through YC, the process is roughly, talk to some customers,
Starting point is 00:47:21 spend a week building something, go show it to them. You're going to realize, oh, we built the wrong thing. Go back. Try it again. Go talks. And then eventually you kind of maybe land on something. You can see why in that environment, a large percentage of stuff is vibe coded.
Starting point is 00:47:37 And they go faster because of it. Which is good. So it's like perfect for that. Yeah. But yeah, I think those headlines confuse people because they think, oh, they're claiming that all companies are like all systems are going to have this split. Awesome. Well, Dax. Are we losing Dax?
Starting point is 00:47:54 I know you're out of time. Dax. Dax, you're out of time. You're out of time. Because he's got to go to a doctor's appointment, he said. I do. So I want to have Dax back on, though, Prime if you're up for it. I want to talk about building an agent next time.
Starting point is 00:48:06 Yeah, I want to talk about building an agent. Can we do that here soon, Dax? Because I'm actually very curious what it takes because I heard a really weird argument. Someone's like, oh, you can just build an agent over the weekend. And I thought, okay, yeah, like, it's very easy. Yeah. Okay, I assume you can, like, do some stuff, but what does it take to build, like, a real agent that's doing that? A good one.
Starting point is 00:48:23 I don't mean, like, yes, it can query Open AI to be like, what's, what file should I use, right? Like, what's the actual? Well, I spent so much time building this thing, and I'm just like, what the hell is an agent? Like, everyone keeps saying agent, and I, like, have built this thing. And I don't understand what people mean when they say agent. I think they just mean calling. Yes. very easy to build.
Starting point is 00:48:49 Don't spoil it. Josh, bleep that out. But there's a secret to it. Just bleep it out. And they'll find out next time. Black thing over his mouth like this little square.
Starting point is 00:49:01 Exactly. Can't see what he's saying. All right, Dax, how about you leave and I'm going to play our thing, T.J. Yes, that's what I was going to say too. Okay, Dax. Thanks, Dax.
Starting point is 00:49:09 Thanks, everybody. We'll see you on the next time. Let's go to the stand-up. my screen Terminal coffee and hair

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