Transcription: OpenAgents Episode 134 - Inescapable Inertia
June 9, 2026 ยท View on GitHub
Source: https://x.com/OpenAgentsInc/status/1849537050212511922 Wiki source: https://raw.githubusercontent.com/wiki/OpenAgentsInc/openagents/Video-Series.md Media title: OpenAgents - Episode 134: Inescapable Inertia We review our HTMX/vanilla integrat... Upload date: 20241024 Transcription model: gpt-4o-mini-transcribe Generated at: 2026-06-01T15:45:19Z
Machine-generated transcript. Review speaker labels and wording before using this as quote-grade source material.
[00:00] Speaker: So this HTMX streaming was really cool and I was able to get like a really nice looking interface here with just like HTMX and some Alpine. We could do it. We could do it. We could do V3 as I've kind of bragged and boasted that we would with just HTMX and no build JS. The problem is the velocity is down. I don't know how to measure this or prove this, but having used these tools for 18 months, AI tools, and now being really, really, really fast, working with Claude Sonnet in a particular way through this, there's just a way higher than usual amount of errors and kind of steps backwards. So usually when I'm coding like this, it's like five steps forward, one step back. Sometimes you have to kind of massage things a little bit, but with the HTMX, it's just like two or three steps back for every five steps forward. So the development was just slower and that's not good. At the end of the day, we have to optimize for velocity and getting stuff built. I'm spending so much time like thinking about and wrestling with like the stack that we're using because it's going to be used by a lot of people. We're going to be using it for OpenAgents. We're going to be using it for OpenPress. All of this is going to be open source. People are going to be forking it and using it. And the patterns that we make and decisions that we make now are going to end up probably mattering. So one other kind of lesson that I've had, so we decided on PHP and Laravel as the backend technology. I feel fully confident in that decision. This was our kind of attempt to do HTMX on the front, but there's just too much stuff that we've been needing to do custom. Like it's certainly possible for us to, you know, have the agents build kind of our own tailwind blade components of ShadUI. We kind of adapted some of the stuff in the ShadUI sidebar for this. It just takes too long. And I really miss being able to, for example, pull in just straight ShadUI components. ShadUI does support that for Laravel's Inertia framework, which guess what? At the very beginning of this series, we were using Inertia. We eventually like replaced it with Livewire. So like Livewire and Inertia are the two big Laravel frameworks. Inertia is extra comfy for me because I've been like seven-ish years as a Laravel developer and I've been seven-ish years separately as like a React and React Native developer. And so Inertia as that glue that connects to both of those two things together is like nice and comfy. The version one of OpenAgents that we did, we used Livewire, which I considered for our version three. One of the problems with that is, you know, I want to be pulling off the shelf somewhere really nice UI components to use. But the problem with that in the Livewire ecosystem is that the best component libraries, filament, flux from the creator of Livewire, they are not open source. They have specific provisions that you cannot use them in open source projects. Whereas you've got this ShadUI components is fully open source. You can literally just copy and paste what you need. And there's plenty of good reason why so many people are converging on this. And I want to use it. I want to use it with minimal friction. So all of which is to say is that we're going back to the Laravel and Inertia stack. One more reason for that. In the WordPress ecosystem, I've noted that even though the base language is PHP, there's a whole bunch of front-end stuff done in React. Whenever people want stuff that's more fancy than, you know, HTML, CSS, JavaScript, and jQuery, they use React. So that in conjunction with the fact that React and like the mainstream best practices around React plus Tailwind, Vite and stuff are just like thoroughly represented in the training data of the models and agents that we're using. It's kind of the clear choice for what we're trying to do, at least at this phase. I think in the future, I could see us revisiting HTMX and doing some cool, I don't know, more advanced backend with Rust or I don't know. I don't know. PHP with Laravel and React. That's going to get us, you know, to all of the levels of profitability that we need. So velocity is what we're ramping up here. So we're going to do in this video is just kind of get you caught up with the Inertia. I'm going to have you watch me create an Inertia project fresh in our main OpenAgents repo. Fortunately, I've kind of done this exercise in the past where I've like built a kind of a large chunk of a new OpenAgents version in Inertia. So a lot of the like tool calls and stuff that powers our V2, I'll be able to just pull that directly and I'll do most of that offline over the coming days. But at least I want you to see kind of what I'm doing here, because even though I've done a bunch of the kind of version 3 and some of our private client code closed source, I'm happy to like put all of this stuff now into the open. One of the things that I the kind of new ideas that I've had in paying attention to what's going on in WordPress situation is there's a lot of agencies who are looking for alternatives to WordPress. And as I'm starting to now talk to a few agencies who work with multiple different clients, I would love to be able to have like work with agencies to make it easy for them to offer AI services, AI agent services to their customers. So that's one reason why we're adding team support in the version 3. And so oh yeah, so the whole idea here is I don't want to just own everything or have things closed source. I do want to have agencies view all of this as extensible so that they can take and edit. You know, it's all open source. They can just kind of fork it and whatever and not need to worry about licensing and stuff. The licensing of the OpenAgents code base here is AGPL3, which means changes that you make have to be open source. That will be potentially changeable if someone wants to pay for a different one. And then the OpenPress stuff is all public domain. Okay, hopefully that at least covers some information from people who cared about pieces of that. So let's go ahead and make the new Laravel application and push it. So let's do this. Let's do a new branch. I love deleting stuff. Deleting stuff can be certainly therapeutic. Now where's our... Let's get some music going here. Lord of the Rings Lofi. Okay, so what I think I'll do is do a new Inertia app in a separate folder. Oh, and by the way, Inertia2 just came out with a whole bunch of new features. That's nice. All right, so we'll do this in a fresh app and then we'll paste it over to our old repo. Okay, blah, blah, blah. Installation. Oh yeah, starter kits provide out of the box scaffolding for new Inertia applications. So we'll do that. Okay, first of all, do I need to update my Laravel installer? Laravel installer. Something went wrong. What? Motherfucker. Is there a new version of this? What if I just do Laravel new OA Inertia? All right, let's do Breeze. We're going to do React with Inertia, dark mode and TypeScript. I don't care about SSR, Pest for sure. Initialize Git repo. Yeah. SQLite. Default database migrations. Why not? And then we'll confirm that we got version 2 of Inertia. Installing Inertia.js, Inertia-Laravel v1. Nope, that's not what I want. I'm guessing I need to update the installer. LOL. I don't want to like... So one thing that I love is I don't really need to like read docs so much anymore. I'm just like, scrape this and tell me how to check the version of the installer and then update it. Laravel version 5.8.5. So Laravel Inertia 2 came out, so I'm guessing the installer doesn't have the latest thing. It says upgrading to 5.3 to 5.5. Okay, let's try it again. Let's do Laravel new OAI. OA Inertia. Okay, let's try this again. Breeze. Rack with Inertia. Dark mode. TypeScript. Pest. Yeah. SQLite. Yes, run them. Did this give me Inertia v2? Let's take a look. Inertia.js React 1. Oh, is it in beta? It's still in beta. Okay, well I'm going to do it anyway. All right, maybe I'll do that second. Let me get this into the proper repo first. Open agents. Let's see, I want to delete everything except for the .env, I think. I'll keep the readme and the license. And I'll delete... First, let's do this. Delete. Docs. Let's delete docs too. Delete vendor. Out of curiosity, first let me just open up OAI.test. Does that work? Yeah. Okay, I'm going to pull over everything except gitignore. Node modules, vendor, not ENV, not gitignore, not readme. Pull in Laravel Inertia app. Okay. Let's do composer require. Oops. Composer install. And we'll do npm i. So let's go to openagents.test, see what happens. Oh, yeah, there we go. Fresh. A fresh app. Well, can I register? Yeah. All right, and we'll do one more thing. We will upgrade to... Doesn't introduce many breaking changes. Okay, I don't care about that stuff, so we'll do that now. There's 1.3.0 to 2.x. Nice. All right, we have passing tests. We have Inertia v2 installed. And we