In today's modern technological world, developers face many difficult questions. Artificial intelligence, autonomous agents, JavaScript frameworks, even CSS. With so much happening so quickly, how can a developer possibly keep up? Simple. Just listen to the world's most important AI podcast. Two experts, countless opinions, zero hesitation. The Internet is complicated. These men are not. Each week they review the latest developments in artificial intelligence and modern web development. This is Whiskey, Web and Whatnot, the world's most important AI podcast. This episode is sponsored by MailTrap, modern email delivery for developers, straightforward integration into your code with native SDKs, security compliant API and SMTP, 4,000 emails monthly in their free tier, MCP and API integrations for your agents and coding assistants, and PS 24-7 support you contact people, not an AI chatbot.
Try it mailtrap.io today. That's M-A-I-L-T-R-A-P.io. And back to that episode. What's up everybody? Welcome to Whiskey Web and Whatnot with your hosts Robbie the Wagner and Adam Thomas Argyle the Nerd. I'm a nerd. I'm here. What's up y'all? Sup sup. Yeah, I feel like, I don't know. It feels like it's been a bit. I've been doing a lot of vacationing and stuff. We had a guest last time. I don't know when we've caught up last, but maybe it hasn't been that long. Just feels like a long time. Feels like a long time. Yeah, I agree. Yeah. so we've decided we're doing the whiskey at the beginning again because we don't care what y'all think so um we've got i already have one poured because um i always heard well so i always pour one for caitlin and she goes i don't want that so
But while you pour yours, I'll talk about this. This is Redemption Rye. It is 46% alcohol. Mine is batch number 277. I don't know what that means, but it is 95% rye and 5% barley, aged in new charred oak barrels. And it has a fun fact that prior to the 1920s, rye was America's favorite spirit. um and it says aged no less than two years which sounds daunting like who knows how old it is probably young um that explains the 35 price tag yep all right oh okay strong on the nose oh i have a batch number on mine batch number one That's weird. Maybe yours is the one in that new bottle. And I have this old bottle.
Yeah. It's funny you think the new bottle looks more like Bullet than the old one. Yeah. So I have this like nondescript bottle. It's just like you put any kind of label on any bottle and you could get this. Yours to me, like anyone familiar with Bullet, they have like, I think it just says Bullet across the bottom, which this says Redemption across the bottom. I don't know how you would patent putting like text in glass etched on the bottom of a bottle, but perhaps they have that patent. I don't know. I don't know. Is it the shape? Yeah. I think it's the shape here. The shape is similar to... Oh, yeah, the shape.
But see, no, that doesn't look like... That was a pretty lame Sue. That's like when anyone uses the color pink and T-Mobile's like, no! Like, get over here, guys. The color is mine, yeah. Okay, so I'm smelling black pepper and cola. Mmm, yeah. Hmm. Man, I always think apple. Ironically, it's so much maple. There's no corn in it. I smell corn on the cob. We got to try our new technique, which is smell it from the bottom of the glass. And that's smell it from the top of the glass, which I remember he said the opposite of what I experienced. So I was like, oh, I smell the alcohol more at the top.
And he goes, it's at the bottom. I was like, I know nothing. I am a noob. Hey, everyone experiences things differently. It's okay. Yeah, this taste is actually very sweet for me. It is sweet. It's also not bad. It kind of reminds me of Sagamore rye where it's like, it's pretty yummy for the cheap price tag. Yeah, it's a little sweeter and less spicy than Sagamore, but it is, you're right. It's like, it's something about it is very approachable. It's like baby's first rye. Yeah, I didn't like how it smelled, but I do like how it tastes. So, it's got that going for me. All right. Well, with that in mind, we have a rating system, 0 to 8 tentacles, 0 being the worst, 8 being the best.
What do you think, Adam? I'm going to give it a 6 and a quarter. All right. I'm going to give it 5 and a half. Middle of the road, it's fine. Would drink again. Would recommend. I should have given it that rating. That's a superior rating to my garbage rating. Alright, I'm going to log it in my punk assistant. Redemption Rye 6.25 Cool. I started doing a thing with my punk assistant where I'm like, hey, I've tracked a whole bunch of data with you now. Why don't you start giving me suggestions? Like, I'm tired of crappy suggestion engines that try to follow me around the internet. I'm giving you the core essence of my, you know, preferences across all these different things.
you should start giving me whiskey suggestions, start telling me banjo songs to play, start telling me songs to learn on guitar. Anything that I'm logging with you. This is why I have the birthday gift suggestions. I'm like, I'm giving you data. Use it. Let's do something cool with it. Yeah. Take initiative. Don't just hold that data. Yes, the initiative is key. Yep. So being proactive is what I call it. I'm like, I need you to be more proactive with things. Like... You do performance reviews with your agents? Tell them, ooh, yeah, you could have been better about it. Your KPIs are just not there.
I thought you were going to say that they were going to do that to me. Like, they're going to give me a performance review. Be like, hey, actually, it feels like that sometimes. It's like, hey, there's a message about a design I did about your about page on your store. You haven't replied yet. It's been two weeks. I'm like, well, yeah, it was a crappy design. And I'm just letting it float. Quit. And so, yeah, every morning, it reminds me to do it. Oh, well. Hey, I mean, it's probably stressed out. It wants your opinion. But yeah, I had an interesting thing happen today. So we were in the middle of working at work.
And they were like, hey, co-pilot is turned off immediately. No warning. And I was like... what? Interesting. Like, I'm running things. And so, we're using the new ChatGPT models and stuff? Or? No, it wasn't a model thing. It's just like all GitHub Copilot access is turned off now. So they want everyone to use Bob, like our internal AI thing. Oh. But the abruptness was weird to me. So I was like, hey, everyone's in the middle of doing work. This is not great. And I had this... existential crisis of like okay so i want to still use open code which is still fine but i need to be able to hook up bob to open code and so how do i do it and i tried to do like a couple things and then i was like it doesn't work it hit some errors let me ask ai oh i can't um like so i had to do some like old-fashioned uh like actually looking at the errors trying to figure stuff out um and
But I hit a, so we had this plugin for open code. Like anyone that has used open code before probably knows there are plugins you can install. And this, like, it'll handle auth for you and stuff. So you can use, like, Bob with it and be authenticated, whatever. But that branch, so I pulled that down. It didn't work. And so I needed to make a new release of it. Like, I was like, I'm going to take over this project. It's going to work. I'll get it done in, like, an hour. We're cool. And it was like, you can't push that branch. And I was like, Why not? I have permissions. I'm looking at them. It's like, nope.
And I was like, okay. So, well, it started on the main branch, which makes sense. Like, that's usually protected. It doesn't want me to push to main. Okay. So, then I was like, okay. Let me... I was trying to add release it. I made a new branch release it test. I was like, push. It was like, nope. And I was like, hmm... And so I spent hours on that. And turns out it has some really complex branch protection rules where if you have release in the name at all, it thinks it's a release and won't let you push anything to it. It's like releases have to be immutable as like part of the branch protection or something.
Yeah. and so yeah i wasted hours on that and then like it was the end of my day and they were like everyone can have co-pilot back and i was like okay like that experiment didn't go how we thought yeah so we only have it back till friday um but like that's what they should have done they should have been like everyone has to be done with it this week so figure out your roll-off plan not just it's off i don't know who thought that was a good idea They were like, let's pull the bandaid off and see what happens. And all the children start screaming. Yeah. So, yeah, that was rough. I did use Bob some today.
Did better than I thought it would. Last time I used it, it was very young and like beta. And now it's like a real product. Yeah. Yes, Baby Bob. And so, yeah, it's maybe going to do okay. We'll have to see. But we're like, we have a few weeks left on this project before it has to be released. So it's really bad timing to be switching all of our tooling. But hey, what can you do? Oh, it sounds like some Bob dog food. You have to eat Bob. It's time for you to... All right, well, that's funny that you had to do some manual coding because I had to do the same. I was telling you right before we started, I was handwriting CSS.
Yeah. I tried to lay it up. I had a prototype that was built in the browser, and I could see it with Chrome DevTools Protocol, synced in with Agent Browser. It had playwrights. It could take screenshots and see computed values. And then it also had my local version of Shopify admin running. And I was like, okay, this component over here is pretty much identical to the structure of the one over here. And I need you to take all the styles off of this one and put them on this one. And just make them look the same. Take screenshots. Just do all the things. You do need to port over some tokens. And that's probably the hardest part of the job.
And I spun that as a night run. And it just only got halfway through it. Of course, I woke up in the morning. It says it's all done and it's not done. And then I sat there for like 45 minutes and started trying to bicker with it. I'm like, hey, nudge this. Like, why did you make that? It's clearly off. Like, blah, blah, blah. And I had to just roll it by hand. Sorry, I had to derail you. I have a question before I forget about it. So when you're doing this, is it a bunch of sub-agents? Like, is there a sub-agent per thing it's converting? Or is it just one main agent kind of cranking through for a long time?
It's one main agent in basically a loop to completion. Because I wonder if... I've had a lot of problems with... Whenever your context gets more than a token, it's like, I don't know how to do anything. So I'm wondering if it's these long-running tasks, or even if it's a loop, it's still just too much context. When I tell it basically nothing, like, hey, I want you to build this, use this, write tests, go. It's like, I did it. But if I'm like, hey, here's like a PRD. Here's everything I've ever thought about design. Here's like whatever. It's like, oh my God, I'm so stressed out. And it doesn't get it right.
So I think that's a big problem that I'm hitting. Yeah, I think that's a very astute observation. And I'm torn on it in a couple of ways because stupid fucking Twitter all day, especially last weekend. Oh, look at this prompt I gave and now I have a game. And the games are pretty sick. And I'm like, and those prompts aren't small. Those are big prompts. I also saw prompts just the other day where like I recorded a video of your website. me scrolling it and i gave the video to uh open ai and said remake it with my colors and my name on it and out popped a beautiful cinematic website and i'm like son of a people are getting really far with like though or was it because i saw that was with the brand new their brand new model where it used like higgs field or whatever like the um made a video of like
all the little people running around the Boba shop or whatever. Yeah. And it unfolds as you zoom in. Yeah. Yeah, so I was inspired by that. And I was like, ooh, I don't want to get a Higgsfield account, though. But I want to do something. Because I was like, Fable's still out. Let's use that with Impeccable and see what we can get for Wolf. And it was like, what if we made a thing that was based on... It took you through a dog's day. It's like, dog wakes up in the morning so excited that we're up and whatever, and then wants to play, and then at night sees an intruder and alerts about them or whatever, stuff like that.
And then the whole theme was pretty cool. All of that worked pretty okay, but then it was like, I was like, make some art, like make it animated, just draw something. And it was like, cool. And it just basically did like little circles for the dog. It was like very, it was like I could have drawn it with like just making a circle and like layering them. And then I was like, you know, make it, I iterated a few times and got it to where it's not absolute garbage. But it's still not like, like the things that people are claiming they're just generating. I feel like they're not. There's a lot of bullshit online.
Absolutely, dude. Yeah. And so I think the reality is that the less you put into context, the better. And so I think that's a hot tip is maybe I should have tried my loops with a subagent. So I've got an orchestrator that's orchestrating the loop, subagents doing per task type of deals. And that reminds me of something I released internally at Shopify this week, which is a, I've been using a lot of work trees, like we've talked about. But I've had this thing with work trees that sometimes I cherish the context that I have with that branch. And I start to depend on a lot of the history that's happened inside of there to make sure that it's, at least I want it to give me good results.
But I know that slash new and slash clear are my friends. But in a work tree, I tend to just like keep hammering on it. I'm like, this is a small PR. Like it's small and focused. Like I should just be able to keep one context window. But it's not. And so what I created was a spec-driven WorkTree situation where I spin up a new WorkTree and then I do spec in it. And that creates a goal for the branch as well as the requirements. And the requirements are the place where I can go and just change the file and the model will be like, oh, snap. this work tree just got an update and I need to go make sure that these requirements are fulfilled.
And then the same thing also happens where like, it'll do some work and I'll correct it and be like, hey, we also need to add this feature and it will go update the spec doc. So this spec doc becomes not only... a revisitable thing that lets me know, like, what are we actually aiming for in this? But it makes subagents and clear very powerful because anytime I can just wipe the memory of the current one and be like, homie, here's the spec and you should know where it is. And alongside the spec, there are memories and a couple of other things that it can use for additional context. But the main core thing is that spec-driven work tree
And I found that to be very effective. It helps me not cherish the cow like we used to do with surfers, if you know what I mean. So yeah, I've been enjoying that work. Yeah. Yeah. I mean, I think it's it's a give and a take. Like the thing that I think definitely has not been working is like we've been trying to do. Not exactly a dark factory because like I want to look at some code and like see if it's completely wrong, but I'm not super reviewing it. The 50 shades of your gray factory. Yeah. But like, where was I going with this? My brain turned off. I don't know. Work trees, spec driven. Oh, yeah, yeah, yeah, yeah.
Okay, sorry. So we like, there'll be a PR that's like 28 changed files. I'm like, cool, let me go look. That's not too big. They're all docs. They're all like instructions for an agent on how to use a thing. And I'm like, this is too much. This is too much. And so like... Yeah, I don't know. I don't know what the internals or like how impeccable works, but it seems to do okay at like being pretty powerful and like on the rails while not having like an insane amount of context and getting nothing done. Yeah. He just wrote about how he made those skills, by the way. Just today, he was like, here's my skill knowledge, how I'm accomplishing so much with Impeccable.
So maybe it'll be there. I assume it's going to be a router. I've been doing this with mine where it's like the entry point into... So it's like, hey, you got a brand new model trying to work on this project. Here's your entry file. And it's basically like a table of contents. It's like, hey, what are you trying to do? If you're trying to do this, then you need to go to this other file. And it just like allows it to just pop right out of what it was reading and then go find the other source. And that one can route you to another file. And you have this sort of concept of... smaller chunks that it can discover as it needs them.
It's like a wiki. It's also modeled after how they did skills, right? Skills were like, it's like, I smell that you need this type of thing. Let me go look in the skills folder because one of them had it in the metadata that it does this and it'll go find the skill. And then as it's going through, it crawls additional examples. So yeah, trying to keep things lightweight is always good. Yeah. Yeah, I think the... The era of token maxing is over also. So I think the harness is going to be super important. We have to really care about all of this, and someone needs to make it all work better, or we need to be way more disciplined about how we're doing it.
But this was a story that I guess was big today, where they were basically talking about Amazon was like, hey, everyone use as much AI as you can. Here's a leaderboard. You want to be at the top, and that's how you get promoted. And that just led to a lot of people like... Being like, hey, generate a lot of code that doesn't do anything and I'll commit it all and it'll look like I did a lot of work. And I think one of the other examples was some law firm was like, here's a million dollars to whoever uses the most tokens over this period of time or whatever. And then they were like, actually, it yielded no beneficial outputs.
Like, yeah, I could have told you that. Yeah, it's the bad side of token maxing is if you make it a competition. So Shopify changed it. They don't have a leaderboard anymore, but they do have a usage chart. And it's a subtle change to the system because it is mostly identical. You can still see yourself compared to other people. But it's not a leaderboard. Yeah. Yeah. No, there's no incentive to sort of like have a high number. There is like, I'm annoyed because token maxing has such a bad connotation. But there's a side to it that's like, okay, at least where I'm like, no, I want to give more work to these things.
And so I just need to be able to do it without. But is it sustainable? Like the budgets on these things are so high. And I guess it's, um, it depends on what you're building and how much money it will save you if you had a team of people using AI to build it for a year or whatever. Um... like you know the only stock i actually really watch is ibm stock because i have a bunch of it obviously um but yeah so like i don't know a week ago it was like oh starbucks is going to make all of their own software using ai now and so they're going to cancel all their contracts including the ones with ibm or whatever and so like its stock goes down and then um
Like, yeah, I don't know how much of that is really going to work. Right. Is it like how much money do you have to spend on tokens to truly replace the thing? And then how confident are you that the replacement you made will continue to work? You're going to have to keep having people employed that can fix it if it breaks or like do security updates or whatever. Like, I feel like we're going to ebb and flow a ton over the next, like, decade of, like, everyone's going to write their own things right now while AI is cheap. AI will become so prohibitively expensive that everyone will then have a machine on their desk to run local models.
And then that will become too outdated and we'll pivot back the other way. Somewhere during that process, we'll realize that all the code we've been writing is shit anyway. And we need some real engineers and consultancies to come unfuck everything. I don't know. It's like every day, it depends on the day whether I'm like we're completely fucked or we're good forever. And I don't know, man. I do the exact same thing. Yeah, because there's other theories are that tokens get really cheap and that even though we think they're expensive now, the infrastructure is going to get so much better in the future that these are inconsequential.
One more data center, just one more. Well, yeah, or it's the local LLMs get really good. And then you even said something earlier where, you know, this is, again, the pendulum swings and it's on us to sort of stay informed and try to figure this stuff out is, you know, you mentioned your harness needs to be really good. But at the same time, you've already said multiple times that the less you give the model, the better the results are. So really, what if the answer is models get so good that your harness starts to not matter at all and that we get better and better models over time? And eventually the models are just so good that the harness doesn't matter.
It disappears. And all this work on Pi and open code is just toast. Don't tell Dex. Yeah, they're making the bet on the other direction. Right now, OpenCode gives me much better results than anything else. So there is something there. I also just like, I'm used to the experience it has. I feel like they think about the little details. It just makes me feel like I know what's going on. But yeah, I think... The trajectory we've hit now makes me think that models can't get so much better because if we're hitting a point where the government has decided they're too good and we can't use them or if the version that you can use is out it's like dumbed down and super expensive still it's like.
I don't, it doesn't mesh, like, that doesn't show me a future towards, like, they're going to be so good, you don't need a harness, and they'll be cheap enough that it's, like, all just fine. Because they don't want that either. They want, they're going to IPO. So, like, at least for the next couple years, they've got to, like... make it really expensive so that they can get a bunch of money and get out. But I think it will all collapse. Like all you need is somebody who wants to, like, you know, there's all these other models. You just need someone who's like – really good at whatever whoever i don't know whoever's making these models that knows how what they're doing like you need that guy to go open source like just put a really good one out and then yeah everything will just be completely done for i feel like like i don't know i'm rambling at this point
No, it's all good. I mean, you're right that, you know, Anthropic and OpenAI, they're incentivized to limit supply because they have supply and demand. So if the supply seems low, you know, that's why like it felt kind of like Fable being government banned was like this squelch intentional thing where everyone's like, oh, snap, now I want it extra. Yeah. I don't think it's that much better. When it came back, at least, I wasn't as impressed with it. I agree. It is not that much better after it came back. I did feel like it spun longer, thought harder, and gave me better results the first few days that I had it before it was returned.
It was like it had a built-in, and I guess I was using it through Cloud Code because I guess you have to. You couldn't use it elsewhere. I don't know. Because I was going to say it was like it had a built-in harness, but I guess it did because it was Cloud Code. Yeah. But it was just doing stuff better. It wasn't asking me as much stupid questions. It was just chugging through the work. Whereas now it's not. It's like Opus. It's not bad. It's basically the same as Opus. I don't really see a difference. Yeah, I agree. It's very comparable to Opus. Yeah, I'm not reaching for it that often right now.
It's not like it eats through my tokens, but I just don't have tasks that I feel like are that big for it. But I don't know. You scroll Twitter and people are making wildly great games in just a couple hours with it. So that's really frustrating. Yeah, I mean, I haven't tried to make a game or anything that's not a website. It's possible it's very good for certain specific things, but in terms of websites, it's fine. It can build a website. They've been able to build websites for a couple years now. Is it a good website? Yeah. Depends. Depends. Well, and that's the other thing, too, is we keep talking about like it's slop.
And I like that Joel Hooks said that slop is a choice. You know, he's like, you can fix it if you want to. But I keep thinking back to like the code that we were all writing before. This is, you know, seven years of Google. Seven years of Google. There was slop going into that code base before AI. All right? So it's like we're all out here like we're not spaghetti. This is like before Slop, there was spaghetti code. Your code is spaghetti code. My code is leet code. I'm like, no, I'm pretty sure your code is spaghetti too. You just felt really good about it the night you wrote it. Give it a month.
Look back at what you wrote later. And you almost always look back at what you're, what am I thinking? You know, like, what am I thinking? Anytime I look at code that's more than a few years old, it's always trash. Even if you were good about making it good for then, it's just everything changes. Even from a browser standards standpoint, things that I've always had to implement several times in various applications is like, open a modal and focus trap in there, right? Like, now you can use a dialog with, like, the open modal and it'll just auto-do it, I think. Yeah, show modal is automatically entered the rest of the page.
Yeah. And, like, stuff like that. Like, there used to be thousands of lines of JavaScript to handle the edge cases of all this little stuff where every, like, a, you know, a product person was like, it needs to do this, and when you press this button, it does this, and, like, but then now, actually, that is counterintuitive. Like now that we care about accessibility more, it's like some of this stuff actually actively breaks the real flow of a webpage and you need to like quit it. And so that stuff becomes super janky. That's the kind of thing that AI has basically no idea about unless you tell it specifically, like you need to care about accessibility and here's the rules and whatever.
Yeah. Also, it relentlessly wants to solve the problem in the spot you're in. I don't do a lot of back-end, but if you have a problem where your back-end is giving you the wrong data, it's not going to go back-end problem, have them fix it. It's going to go, hey, here's a bunch of JavaScript where I made it work. And so that's another thing where it's like, that's a nuanced, like it needs to think some to know that that's the way it should work. I think we're a long way away from it programming. I don't know if we're going to get to that ever, but I don't know. What do you think? Oh man, so many good thoughts.
So yeah, my site is a good example where it's server-side rendered. So a lot of the front-end work that you feel like is, you know, quote-unquote front-end is actually back-end, you know, Dino work that I need to do. Use server. Yeah, well, it doesn't have a use server, but it navigates that pretty well. And, you know, I don't have to think about it. When I was building the game that had a front end and a back end, it navigated both of those pretty well. It knew where to target things. But I also think that's because I teed it up well. You know, I gave it good entry files that told it what the architecture was, where to find things, roles and responsibilities of things.
Yeah. I agree that I still think we're far away from these things being awesome. They are still, though, dude, you know, again, coded for over 20 years. It codes better than me all the time. And so that's why, like, I want to keep using it. And I'm like, oh, here, like, I recently released a library called Prop for that. I don't think we've talked about that on the show, have we? No, this is the thing you were showing me at Cascadia, right? Maybe. Yeah, I think I was. CSS knows about all the JavaScript stuff now or whatever? Yeah, yeah, prop for that. So it's basically, yeah, now there's a CSS prop for that.
Well, it's because JavaScript knows a whole bunch of stuff that CSS was not going to be allowed to know. Just the working group didn't want to do it. there's privacy issues, and it's just kind of like dynamic values. And they're values that they don't want you to know, like the user agent. It's been there for a long time. They just don't want you sniffing it. I'm like, I'm going to sniff it and give it to you in CSS variables. I'm going to make it nice and easy to sniff. I'm going to let you sniff the size of their scroll bar. You shouldn't need to know. Yeah, we do need to know the size of the scroll bar, though.
And I want to know what the size of the thin one is versus the thick one. And I want to know what their preference is, if it's overlay or inline scroll bars, because that crap matters. So yeah, I made a library that did that. But yeah, that would have taken me a long time to do. It's a lot of code that I just didn't love writing, like intersection observers or off-screen canvases that needed to do... But the cool part was that my vocabulary allowed me to give it the very optimal way to do things, and I just didn't have to do the grunt work. And so I still like a lot of that flow. There's a lot of like...
good that can come out of giving engineers this sort of tooling. But at the same time, I had a time, what was it? Today's Tuesday. This was last week on like Wednesday. I had a great day on Tuesday with my LLM tools. I just felt like I was kicking butt. At the very end of the day, I had two PRs that just went in. They felt solid, dude. I was like, in the morning, those reviews are all going to pass. CI is going to be green. I'm going to merge. I'm going to merge some code. And I get in the morning. And there's like some minor bits of feedback. I'm like, oh, cool. I'll just piece of cake. I'll still have it merged by like 10 a.m.
It's all good. Dude, it was like 4 p.m. the next day. And I'm like yelling at my tools because they're indeterministic, man. So it's like, I swear to you, Tuesday they kicked butt. Wednesday they sucked. And on Wednesday, I was getting really mad because I was like, you weren't like this yesterday. You know, like, why do you have feelings? You should be good always. Yeah. Yeah, I think part of the problem that I have is like, you know, these tools theoretically make everyone faster, which means everyone just wants more work out of you. But actually... they should be doing what they initially promised.
And this would make everything better. It's like, you use it to remove the typing and create stuff for you. But then you can take as much time as you need to review and ship and figure out if it's correct. Because I think that's the part we're missing. You need to ship 20 PRs today. So there's no way you can go through each one that's 100 files and... check everything. Whereas it would be nice if we still kind of had the traditional software development lifecycle of like, we're going to plan it all out. We're going to ticket it. We're going to estimate how long each piece is, but then we're just going to iterate on it with AI at whatever speed.
I think that's a much comfier spot to live in than this fast-paced let's ship a brand new app every month because we can. I think it's going to be bad if you do that. And I think that's the problem that a lot of places are hitting where it's, you know, that was the whole token maxing thing is like spend as much tokens as you can because we can ship like a ton of stuff. But then like 90% of that stuff is not good because you didn't give that person enough time to think. So they were just forced to work and never think. Yep. Man, there's so many topics. It's like annoying that I just want to share.
Like one thing is... Welcome to pitching about AI, everyone, if you didn't know where you were. Well, this was also like frameworks. Like we invented frameworks to make scalable architecture easier across these large web apps that we were making. And the web was made for pages, not for these apps, right? And so then always we had Backbone. There was an evolution of all these different frameworks. Yeah. And it was supposed to make it easier for us to predictably build and separate our work across teams and do this. Anyway, we're at a point now where we're seeing native apps not use frameworks anymore.
Like React Native, I'm seeing it getting pulled from a lot of places. Because why would you use React Native when you can just write the vanilla with an LLM? I'm telling you, we're going to have the same thing happen on the web because we don't need if the hard part was writing HTML. Oh my gosh, it's so hard to write it. I'm just going to make a loop that does it. Dude, the computer is the loop now. The computer is the loop. It's super knowledgeable. It writes semantic markup. It also can do it in one humongous file like we used to hate doing. It can do all the diffs. It can do all the merges.
And I'm kind of feeling like we are headed towards a server-side renaissance of forms. Because why not? Like, why do we look at all the seance and all the different ceremonies that we have to go into to just get a framework to produce a form input that, like, has some validation in it? When at the end of the day, all we wanted was a form that could be client-side validated with some server-side validation. We should be doing that and just giving it to LLMs at this point. Those patterns are known. Those patterns are good. And. I would like to see us shipping more HTML and putting more things on the server and getting out of these thick clients because the thick clients are the worst part of every experience right now.
We got to get rid of it. It does bug me that if you want to write a website in 2026, it's like, okay, what are you using? Probably Vite. But without Vite, you can't even run it. It's like, you know, the web at its core, you just literally load an HTML file and some JavaScript and CSS and it works. You don't need all of this build stuff. Like, there is probably some middle layer or like happy medium, I guess is what I'm looking for. That like, you should be able to just... do that, but have like less build stuff. Like maybe it'll work, but certain pieces don't work. Or like if you want something like maybe it doesn't tree shake everything or like, um, I don't know.
I don't know. There's a lot of stuff that we need that we over engineered. Um, yes, but I do think like frameworks are good in general because like, you know, the shipping vanilla HTML thing, um, I guess it's kind of a framework. Like, it's not... Oh, absolutely. It's not binary. It's an engine with a platform and documentation, and it's just like... Yeah. But I was going to say it's not quite apples to apples with, like, React Native being just native. Like, the native stuff ships a lot of pieces, but maybe not any more pieces than HTML does. Yeah. like it has buttons and forms and inputs for iOS, does it have any more or less to it than HTML?
I've never written a native app, so I don't know. They have lots of APIs. So it's very similar to like... A framework intentionally reduces the amount of things you have access to. It's an engine on top of an engine. And the goal is like human empowerment. And we've gotten rid of all the crap so that you can focus on the good parts, right? It's like React is like the web, the good parts. It's like every framework has pitched it like that forever. The problem is... In that reduction, you lose the flexibility. There's a reason the platform is so vast. It's because of the needs of people. Each one of those was...
So that's what native has done in the same way. React Native said, hey, you want to get a native app out fast? We'll do a lot of this. But we're going to specifically reduce you to a type of layout engine. We're going to specifically reduce you to all these different APIs through plugins. And if you want to reach outside of there, hey, you've got to write your own kind of plugin. Yeah. And that's the exact same scenario we're in now. And so it's like we could liberate everything. Because if we're not writing it, like, again, like, it's coming back to the reason I'm kind of on this, like, tip is because the code is quickly not mattering.
But it's what's the experience is that matters. Like, just like if we're saying that if I was at Google for seven years and people were writing slop there and now we're writing slop post AI. The code never was the goal. It was the experience. Like a user doesn't really care. They just want to have a good experience that obviously was made by someone who cares about the details, created a service flow that made sense for them, gave them flexibility, made them feel empowered. Like all the same stuff is there. We just don't care about the code anymore. So the more you use a framework, the more you're actually getting yourself away from options and flexibility that will allow you to build the robust.
That's what we've seen in frameworks for so long, too. We're like, the framework is in my way. It was empowering me for the 80% and now the final 20%. I'm dealing with re-render bullshit. I'm dealing with all these things that the framework is actually now... the worst part of the problem and it was never supposed to be that way. I'm just so surprised we haven't learned from this faster. Like why is it taking us so long? Yeah, I don't know. I think Framework's really optimized for like the really data heavy case, which is not what most of us are building, I feel like. Like most websites, The piece that's going to update might go from, oh, this was a count that said 150 unread messages.
Now it needs to say 152. And that, you know, every 30 seconds or so. But the way we've built these frameworks is like, okay, it's going to update 100 million times every second. And it's like we're building this instantaneous stock graph. But most of us aren't doing that. So it's like... they're like at its root, if you really wanted to, it'd be a little less good developer experience, arguably, but you can just, you know, document query selector, this thing, like change the text inside. Like you can do that manually. Um, So I think learning some of that could be, that would be an interesting experiment.
And I think maybe, I still haven't used GIA, but I'm wondering if some of it, like, if it just does that, it's like, you know, basically a compiler that would convert it to something like that and not care as much about, you know, virtual DOM and all that bullshit. Just like real DOM, change it. It's not that hard. Yeah, the proxy idea makes a whole bunch of sense because it could go notify all the subscribers. I mean, we're all coming back to like React pitched Flux where it was like, have you ever had a notification count that mismatches in the nav bar and on the sidebar? Let's invent a humongously complex strategy to solve that problem.
And then it never solved the problem. Like, it's just... Because people are still in charge. Yeah, and we write slop, you know, it's just been decades. And so I'd like to see us get over ourselves, get closer to the platforms that we're writing for because this is like the pitch we've been hearing for years too. It's like work with the grain of the platform you're building on. The more you avoid the grain, there's pain there, especially over time. Anyway, I want to change topics really quick to other types of overengineering, which is the meta-harnesses. Have you seen these? It's like a harness for your harnesses?
No, I think you shared some of them with me. But man, I'm tired. I don't have time for... It just reminds me of the one component model that will then generate any other component model. And I'm like, oh, yeah. We just need one more. Let's look at our history of here, 25 years of web development. Did any of those ever pan out? No. So why do we need the harness version? Why do I need a harness that then goes and picks the right harness, which then goes and picks the right model? I'm like, that's just asking for trouble. Get out of here, you over-engineering punks. I don't need this. Yeah, well, I feel like, and this is a philosophical thing, we don't have to get fully into, but like, you know, we say AI is non-deterministic.
Who says that humans are deterministic either? It's like, you know, we think because we arbitrarily feel like we can think that we're better, but like, who says the models don't feel the same way? We can't really ask them, like... I don't know. I feel like, you know, this, this goal of like AGI or ASI or whatever is like, how do we know that we have any of this that they don't, even that just cause we get frustrated cause they don't do it the way we wanted. That happens with humans too. Like you ask for a thing, you get something sloped back because you didn't explain it right or whatever. Like, I feel like it's, you know, who knows?
Who knows? Yeah, it's coming down to, like, I'm trying to do this with my kids in the past week or two. It's like, get good at writing down your idea. Like, that's kind of the core of things right now. And as we iterate and as, you know, it becomes easier, as the code matters less and the idea and your ability to articulate it matter more, well, then it sounds like we've got to focus on vocabulary and language and writing as these are the new methods for building. If you can't write it down, you can't articulate it, you can't build anything. So how do I equip my kids to be better than me as I try to write specs and as I learn to shift my mentality away from the intricacies of code and how things work into what do I want and why?
And it's, yeah, it's interesting. People are very bad at knowing what they want, right? This is just classic. I remember when LLMs were first coming out, they were like, oh, yeah, they'll all replace you as soon as the PM can say specifically what they want. Yeah. The first time. I do think so. think a cool thing that I don't think exists, but it might for like spec-driven development, if you basically made that the coding, where like, when I change the spec, I would see, you know, rebuild UI looks different for like, like I don't have to ask an LLM to be like, look, the spec is different, update it to like, like if it were quick enough to just like that's your coding now, then I think that we're back to like
it's fun again and i'm like like right now i'm not motivated to write a spec or a big document because it sucks and so then i'll lean on an llm to help me do it and i'll give it some bullets and it'll then ultimately not be as good because i didn't flesh it all out but if you got that dopamine hit back of like i'm writing the spec and as i'm changing it's like oh it's different it's different and like that would be really fun That is something I'm building, Robbie. And I could have teed you up for that. It's called Conjure. And the idea is a combination of BDD, which is Behavioral Driven Design, SDD, Spec Driven Design, and Service Design, built into a tool that as you specify the user flows that you want people to do, like, I need a user to be able to do X.
And so then it would scaffold out the kind of journey and then the specs that would facilitate that. And it would also generate you comps. So different designs for that particular thing based on random seeds and a couple other things that you can seal, like you can be like, no, that's the one. And that one gets locked in per that spec in that particular scenario. And it's also collaborative and team-based. And so what you do is you get people into the scenario where they have an idea. They're like, because this is what the conversation always is. If you look at Slack, it's like, hey, I've got a user that just tried to do X, but they ran into Y.
You're like, cool, let's just go to our Conjure tool, go update the service that we're expecting and that we say we do. Let's add a case for this edge case and then have the app generate a new user flow that facilitates that and includes it in the scenarios. Like, I don't really want to care about all the UI. All I want to do is make my users feel empowered. So then this tool called... that I'm working on is also manages accessibility and internationalization the whole time and make sure that every decision it makes is always grounded in something that's like a global consideration. Instead of what we do as human users, we tend to just look as far as our nose because we have short timelines, all this sort of stuff.
So yeah, man, I'm trying to build that. I'd like it to be almost like the next gen app maker type of experience is... Get your service, get the things that you need it to do and your user expectations out of your head, out of everyone's head into somewhere centralized that's collaborative that then generates you ideas and generates you service and just full applications at the end of this thing. Yeah, I think that's the future for sure. Yeah. So I'm waiting for that. That's when it'll be fun again. Right now I'm just miserable like the rest of us. But yeah, let's talk about something else. Let's do it.
Yeah. Yeah. Yeah. What'd you do for the fourth? Anything fun? Yeah, I went to a friend's house. So we brought the fam over to some old friends just from college and stuff like that. And I played banjo most of the time. I brought, you know, three or four whiskeys to share with people. I'm like, here, try these. Finish these bottles for me. I like to leave a little bit at the end just to share with friends. And so that was pretty much it. I just hung out in the grass, tried not to get sunburned. How about you? What'd you do? Yeah, we went down to the lake with a bunch of friends. So had a bunch of kids running around.
The lake was like really low, so you couldn't get the boat or jet skis out, which sucked. But it was fun nonetheless. Kids swam a bunch. And then for the last couple of days, my wife and I went to – had a little vacation without the kids. Post vacation vacation and went to a spa and hung out. So, yeah, good time. Then we came back to real life and back at the Prompt Factory now. But, yeah. Trying to think of, oh, yeah. So something else non-work related. I told you about Jeff, my new lawnmower. Yes, your lawnmower. Yeah. Yeah, he is, he's not good. He's very bad at mowing the lawn. Did he choke it on something?
Well, so he has. I'm like, eat a rabbit, dude. No, no. He has this thing you put up that connects to the GPS in the sky. And I guess the mower connects to it, which then connects to GPS and tells you, are you kind of in the right place? Component architecture sounds great. Yeah. It's like, if it's not in the right place, then it's like... I don't know where I am. I should probably like move around and try to figure it out. Um, but it's not figuring it out enough. And so it'll be like four meters off, like four meters is a lot. Right. And so it's mowing something at already mode over and over again.
No, it's like, it'll be out in the woods mowing. And, and then it'll like, it yeeted itself off of this. Like we have these rock, this rock cliff thing. I was just like, Nope. And just like went straight off of that. And, um, Yeah, it's not doing great. So, I don't know. I mean, we have maybe a challenging yard for it, but it's not the slam dunk I was hoping for. It sounds just like my experience with Roombas. It's like, I have a funny atomism. I'm a very patient person, generally. I've kind of been changing with kids. But anyway, I don't get mad at people very often. generally pretty willing to accept what's going on and find compromise or whatever, but not Roombas, not inanimate objects.
Basically, I am quick to rage at something that is not a human. And so, yeah, I would come home to the Roombas that would just like have like eaten a sock or something and done nothing. You could see that like they left the dock and then they ate a sock and I would just be like, you had, I'd be so mad. You had one job. You had one job. And it was so constant. Or like, you know, anyway, so I had to get rid of him because it would make me so – I would be so ragey. So I'm imagining being you right now and coming home. I'm like, cool, the lawn's probably mowed while I was out. And I'm like, it did two stripes and leapt off the cliff.
I'm like, I hate this thing. It needs to lead my life. This is – Yes. Yeah, it is pretty bad. It does the same thing that Roombas do, which is weird because it has cameras, so it can kind of see, right? And it's like, it even has settings. It's like, for obstacle avoidance, do you want us to use all of the sensors and cameras, or do you want us to Roomba style it where we hit it? and go, oh, nope, and back up. No, don't bonk. You got blades, dude. You can't bonk and go. But it bonks. It's like, because it doesn't know where it is. It thinks it's somewhere completely different. So it doesn't even, like, because you circle the areas, you don't want it to hit stuff.
And so it thinks it's in another spot, and it just goes fast, like, to try to get that part mode, and go, like, it hits something, and then it goes, wait, how did I hit something? I'm in this clear area. And so then it just goes, like, hit it again, hit it again, hit it again, hit it again. I can't figure it out. I'm like, Why wouldn't you back up and turn a little or something instead of just... It thinks it's getting stuck, I guess, instead of hitting something. I don't know. It's supposed to memorize your floor. So you keep the dock in one spot and then it leaves the dock and it figures out a map of your house.
And I'm like, yeah, but it takes one chair in the wrong spot for it to just go completely out of whack. And it goes... We have three Roombas, if you can believe it. Nice. Nice. Because we wanted one for each floor, because they don't have one that will fly up to your next floor yet. Yeah. But they should. That should be next. I think they had one. We're very familiar. Yes, they climbed stairs, but yeah. Yeah, so we... But it's the same thing. Like, we'll pick up all the chairs. Like, you know, just like a restaurant, like, cleaning the floors, right? You put all the chairs up on the table. But by the time you've done all of this work, you could have just vacuumed.
Yeah, you pick up the floor. I know. Yeah, you've got to clean the whole floor. You have to, like, you have to get, yeah, all the kids' toys, everything has to get picked up. The chairs get lifted. It's ridiculous. And I was like, this thing has lost its convenience. And it's got the tiny little... I'll wait for the robot that can, like, see and go, I'm going to vacuum around here. Like... You see the robot that picked up a wine glass... I did, yes. I saw all of the jokes. Like, can it handle a four-inch cylinder? Oh, man. Well, I thought the jokes were going to go a different direction. You know, like it just takes one second just for just squeeze and just break the thing.
So just shatter it. Because it also showed the same thing with like the pinky strength, right? Had like a 10 pound weight on its pinky and it's just lifting it like it's nothing. Like this is the nightmares that we all had about robots that are like, it takes one bug for the delicateness to turn into just superpowers and just crush you. It's like, my kitten, you're supposed to just pick up my kitten, you know? Now it's dead. Yeah. Yeah. I definitely don't want to be the first one on any technology because it does not go well. Yeah. What kind of insurance do you get with something like that? Like there's a hole in my wall.
It's, you know, just like the Roomba. There was a door and my robot just walked through the wall. It just, just walked. I just like, you know, I want my money back. And they're just like, no, you signed a waiver that said the robot, we're not liable for the robots to do this thing. You're like, I should have read the fine print. Ah! Oh, man. So, yeah. We also got a new... Their website is actually amp.ai. I'm not sure where AI plays in. I think I've heard of this. Yeah. But it is a workout machine that we just got. Oh, no, I don't know what this is. Oh, okay. Tell me more. We just started working out this week, my spouse and I.
Nice. Yeah, so I don't know if you've heard of Tonal. That's like the one that's been around for a long time where it's like a big screen on the wall with things you pull that's like resistance weight or whatever. So this is like a competitor that's like less than half the price, both for the initial cost and for the monthly cost. And it was also, you could pay for it with your HSA. So I was like, huh. No, basically no money out of my pocket. Let's give it a try. So we just- Kudos for having an HSA. I've never signed up for one of those. Always been like, no. Always, always. Anything I can get to reduce my tax burden.
I'm not giving money to the government. so yeah we got it installed today and it's it's pretty good Caitlin and I both did the like initial benchmark workouts and it'll it just like raises the weight over and over so you do one and then it raises it by three pounds you do it one more like three pounds higher until you can't do it anymore and it gets your like where you should be at with your progress and stuff and I don't know. Well, I'll report back as we use it. Yeah, report back. Can you all switch and take turns and then it tracks who's holding it or whatever? Yeah, it actually has competitive modes where you can be like, we're going to compete for the next half hour and you go for a set and then I go and we see who can do more or more weight or whatever.
And yeah, they're trying to gamify it. I guess the AI part is it learns with you as you're working out and it has different preferences. What do you do, Basil? Yeah. You can have it do, like as you're pulling it, it can get more resistance when you get to the end, or it can have more at the beginning, or it can be constant. So that will help you for like, if you want to do something that's like really heavy weight, and you want it to only be heavy when it's like the actual pushing part, not the like getting there part. Yeah. Stuff like that. So, yeah. Let's talk some logistics. It's plugged into electricity, I assume.
Mm-hmm. Okay. So, what if power is out? Is it, does it still function? No. Does it need internet? Yes. So, it doesn't have its own screen. You have to have an iPhone to use it. Is it Bluetooth? Yeah. I guess. I don't know. I don't know if it's Bluetooth or Wi-Fi, but you put your phone on a dock there, and it's connected somehow. And it just works. Like, your phone is the screen. I didn't have any lagging or anything, so it was connected fine. I don't know what the connection technology is, though. Okay. All right, and I've got all these creative ways to pull on this rope. So it's mostly just like this pole that sticks out from your wall that has a resistance type of setup on it.
Mm-hmm. Okay. It's nice and minimal, you know, I guess, but now you have to stare at the wall while you work out? Oh, not all the little gestures are wall staring. Yeah, some of them you face the other way, some of them you face sideways. Yeah. You can put it in, like, because it's so minimal, they have a lot of pictures of, like, you know, people just put it in their living room or wherever. So it's like, you can put it looking at whatever you would like, basically. Yeah. Okay, and when you install it, don't just put it into the drywall. You got to put it into some studs. They install it for you, actually.
So they make sure it's in the studs. Oh, they have people around the states that just come install it for you? It was just JB Hunt, the like trucking delivery people. Oh, okay. So they're interesting. I mean, that's kind of cool. So it's like a Bowflex that you put on the wall that is smart. It's a smart wall Bowflex. And you never have to like manually pull the pin out and put it in the weight you want. Right. Or like there's just a spin knob. So it's all like electronic resistance. Hmm. Seems cool. All right. Yeah. Keep me updated. Let's hear how it goes. Hopefully better than Jeff. Well, it's already better than Jeff because the first time I used Jeff, he already fucked up.
And the first time I used this, it was fine. So nice. Awesome. Well, that was cool. Should we call it? It's a good one. Yeah. Yeah. Anything we didn't get to that is important, I don't think. I mean, there's definitely stuff in there we didn't get into. Like, I tried a Llama again, and I've been enjoying different heartbeats, but we could save those for later. Sure. Yeah, the models are all... Oh, wait. Super different. Super different. anyway i do feel like a redemption riot got worse over time so i dropped my rating and my punk assistant to a 5.5 okay we are aligned i just yeah it just didn't didn't hit it's like halfway through the episode i was like i'm enjoying this much less now that um it's like the apple and the maple kind of disappeared and the sweetness
I don't know. It's definitely harsher now and it's getting more, like you can tell it's young. Yeah. Still not terrible. Would recommend still. Yeah, not terrible. So yeah, five and a half is not bad. Anyway, okay, cool. We good. All right. Thanks everyone for listening. If you liked it, please subscribe, leave us some ratings and reviews. We appreciate it and we will catch you next time. Congratulations, citizen. You are now prepared to face the challenges of the modern technological world. With the proper tools, a steady hand, and a reasonably configured terminal, any developer can orchestrate AI agents with confidence.
You'll do just fine. Thank you for listening to Whiskey, Web, and Whatnot, the world's most important AI podcast. For additional resources, including official merchandise, visit whiskey.fund. And remember to subscribe, rate, and review so this vital information may reach others. Because the future of technology depends on it.