David Hill 00:00:00 Happy Wednesday and welcome to the show. I'm your host, David Hill. And joining me today are some friends in the Ruby community. We've got Chris Oliver and... Oh my goodness, I'm totally farting on your last name right now, Colin. I'm not going to reveal it either. I'm not going to type it in here. Yeah, he's hiding it on the Zoom here. Chris Oliver 00:00:15 I'm not going to type it in here. Yeah, he's hiding it on the Zoom here. I know. I was just to test you. Collin Jilbert 00:00:17 I know. I was just to test you. Colin Gilbert, I found it. There you go, perfect. And you said it well too, so that's good. Old Gilbert. Yeah, that's the typical one. David Hill 00:00:30 Oh yeah. Goodness. This is starting off well already. So Chris and Colin joining us from GoRails, Jumpstart and Hatchbox fame. There'd been some recent kind of announcements with changes to Hatchbox that kind of stem from some conversations that I've had with both of you for a while now about AI and the impact that it's had on kind of the education business. So I thought it would be an interesting conversation. To kind of go on record here on the podcast and talk about that, of like how AI has impacted the business with GoRails and Jumpstart and how that leads us to the changes that happened recently. Chris Oliver 00:01:10 Where should we start? The beginning of like where GoRails started? The beginning is usually a good place to start a story. I had started GoRails basically because I'd always wanted to build a product myself and didn't really have any idea what to build and sell. So I was like consulting for startups and whatever, doing Rails for a year or two out of college. And then realized at some point that I really missed Railscast. I had watched every single video 10 times. I had just looked up to Ryan Bates and he burned out and left and quit doing Railscast. Left a real void. Oh, David Hill 00:01:51 yeah. I remember watching those too. And it's like, oh, I wish he would still do more of these. Chris Oliver 00:01:51 yeah. I Chris Oliver 00:01:55 Yeah, me too. And I had paid till the very end and would have continued paying even after he wasn't publishing new content for a while. And I missed them and everybody else did too. So it was probably, I don't know, 18 months or so after he had quit. I was just fiddling with ideas and I was writing some blog posts and it basically was on my personal blog. And we were a mixture of like business thoughts and coding. things as well. So I realized, you know, I should probably just buy a separate domain and like split these up and put my coding things on a separate site. So I ended up finding gorails .com was available. So I bought that and then just kind of moved my like notes and things that I had. Like I had written up some notes by hand in my private. markdown files or whatever for how to deploy Rails to my own server. So I had like a DigitalOcean server. And so I went through all those steps, setting up Passenger and whatnot and Capistrano. And I was like, there's no benefit for me to keep these safe and protected in my own personal private notes. So I was like, I'll just publish that on GoRails. And I did. And then like... five or 6 ,000 people visited the first month or whatever. And it started to get shared on Stack Overflow and stuff. So I was like, whoa, this is wild. I realized, you know what, if I could send somebody to the homepage, if they found this tutorial useful, maybe I could get them to go to the homepage and then maybe sell them something there. And then I realized the only people I probably am good at selling a product to are people I know and really like. to hang out with which is other rails developers and then i was like you know what i really miss rails cast i'm no ryan bates i don't know what the hell i'm doing but i do know enough that i can maybe teach people who are six months newer than i was to rails people who are less experienced than me so i am nowhere even remotely as good at anything as ryan bates and so i was like all right cool i'm going to make a couple things one is going to be i also don't want to commit to doing like screencasts every week like ryan was doing so i was like i'll do two courses and so the two courses were like the intro basics to ruby explaining like what environment variables were and the difference between a string and a symbol and some things like that. So that was like a free five video course. And then I did a paid one that was like 10 videos on the gems that I use for consulting. So I was working at a little rails consulting shop and I was like, if you really master devise and you master pundit and you master whatever else. that I was using at the time, those would be really useful for somebody who is newer than me that wants to get into, you know, Rails and sort of work either a freelance job or something like that, or get a full -time job. Like if you get good at these tools, they really make development with Rails even faster because you're not building authentication and password resets and stuff. From scratch, which was truly from scratch back then, because we didn't have has secure password and those other things like the generates token for those didn't exist in Rails back then. So you would have had to do that security stuff yourself. And obviously we use device. So I did that, hated making the videos so much that I had to force myself to do like 15 minutes a day and throw it away every single day, three months before I had the first. two videos done or something. And then I was like, I couldn't stand my voice. I was used to programming in my own head because I just do it quietly at night and in my free time and whatever. And now like I'm never pair programming with people and I'm never talking out loud while I think or anything. So I struggled so bad and I couldn't listen to myself. So I couldn't even edit my own videos because I hated listening to myself. I eventually got those 15 videos done and put them up for sale just to see what would happen. And I had a little bit of a readership because of posting some ideas and thoughts and blog posts and whatever on Hacker News. And I actually sold like two a month. The paid course is $39. Collin Jilbert 00:04:14 like i'll do Chris Oliver 00:06:16 actually sold like two a month. The paid course is $39. So I made a whole 80 bucks, not even 80 bucks, but a month I was like, this isn't going to pay for rent very soon. and i realized then like i'm a developer i'm not a marketer i don't know what the hell to do to get people to find this and then sell it to them or even convince them that the course is worth 39 because nobody knows who i am i decided that i would just change it to do what ryan was doing with if i publish a free video then The more free videos we do, the more likely that you will trust that if you learn something from that, that you would definitely learn something from the pro videos. I've been doing this since January 2014 and quit consulting cold turkey. I was freelancing for myself. I left the small agency I was at. I have a little bit of savings and no responsibilities except for my cat, my own food and rent. So I'm going to just... burn the bridges and see if I can force myself to figure it out. Cause if otherwise I would always take the easy route and get, find another contracting job or something. And, you know, I was always like, I could at least make 25 K on this project. I might as well do that instead of investing in myself. Cause that was a guarantee of income. Chris Oliver 00:07:40 So once I had some savings, I was like, screw it. I got to burn the bridges and like force myself to figure it out because I believe I can figure it out. But like my own like risk aversion is stopping me from doing this. So I did. And then, yeah, it was June or July that year of 2014 that I finally made our first couple sales. And then I did the math and was like, this isn't going to pay rent. I'm going to have to go back to doing those consulting things. So I made it till September. When I was getting close to running out of money and ended up working for a Y Combinator startup. So I interviewed there, got the job. They were called One Month. And their big thing they raised money on was One Month Rails was a big popular course at the time back in 2013 or whatever. And I was like, well, I'm a pretty good candidate for this software developer, lead engineer role there. So I got the job. They like actually bought GoRails from me because I was burnt out. And so I was like, screw it. The CEO at the time was like, he's a little crafty. So he was like, well, you know, you're kind of competing with us. So we have to buy this from you because that's just weird for you to have a side business that competes with our main product. And I was like, that's fair, but also feels a little weird because he didn't offer me shit for it, of course. It was not a good deal, but I at least negotiated that I just want 25 % of revenue, not profits. So I at least got paid on the side for it for the year I worked at that company and it wasn't going well there at the YC startup. So I left after a year and then GoRails, I'd continue doing on the side, but it had grown to like 3K a month. And actually, I should jump back real quick because the fun part of interviewing, with the ceo there there were a very small team i was like employee number eight or something i forget we were like 10 by the time i left somewhere around there seven or eight but the day that i interviewed with the ceo like the final interview GoRails got submitted by some random person to Hacker News, and it was on the front page of Hacker News number two the entire night. So I woke up to 600 emails from MailChimp that was like, you have a new email subscriber, you have a new email subscriber. And I woke up, what the hell just happened last night? Something bad happened. Then I was like, no, something good happened. Whoa. My last ditch effort was kind of like, I'm going to switch to doing what Ryan was doing. And I don't want anybody to think that I'm like trying to replace Railscast. Like I am no Ryan Bates. And the only new thing I knew how to do is like, well, it kind of worked for Ryan. So maybe I'll try that. And then that's why it ended up on Hacker News because somebody was like, hey, somebody's bringing back Railscast, like a new style, you know, a similar thing. And everybody was excited about it because I was not alone in missing Rails casts. So anyways, worked for that company for a year, learned a ton of things on what not to do, then went back to GoRails full -time when I quit. And I was like, I want GoRails back. So they kept a little ownership of it, but it was mine again. And I had 93 % ownership of GoRails. And it was basically they just wanted... You know, if I was successful and ever sell it, they want their little cut of it. So I just basically forgot about that for years, which will come back into the story later. But GoRails just kind of like grew because it was like very wanted by the community. And I didn't have any intentions on what I was doing. I was just. I'm learning stuff. I'm going to share what I'm learning. I'm going to build things. It was very helpful for me to teach because I was forced to learn stuff really deeply, more deeply than I ever would have otherwise. So I ended up learning tremendously fast in comparison to what I would have at a job or something. So I really like am grateful for that experience because I feel like I accelerated my education. like crazy because people i'd make a video then people ask about like yeah but what about this and i'm like great question i have no idea let me go learn and then make another video on that and go rails just kept growing for a long time naturally because the community wanted it and then we would just talk to so many people that it was me for the longest time calling you joined in january 2012 11. Collin Jilbert 00:12:23 11. 2011, no. That would be five years ago. Chris Oliver 00:12:27 would be five years ago. Collin Jilbert 00:12:29 No, that would be 15 years ago. 21, yeah, Chris Oliver 00:12:29 that would be 15 years ago. 21, yeah, sorry. That would be before I started. Right, exactly. Collin Jilbert 00:12:33 would be before I started. Right, exactly. Something like that, 2021, I believe. Chris Oliver 00:12:40 So, yeah, I was alone for a long time until 2014 to 2021 then or so. It's low growth. Like, I was charging nine bucks a month, and then I realized, like, this still is not going to. pay my bills very quickly here i'm way underpaid but i'm willing to like live off of 36 000 a year because i can work for myself and i have potential to grow it to however big i can grow it and so like our first black friday sale i think it was that year after i quit my job in 2016 black friday sale was It's going up to $19 a month after Black Friday. So buy it now and you'll be locked into that grandfathered plan. And we still have 100 people or something still paying the $9 a month, which is amazing. Thank you to every one of them. I think Andrea Femera is still on that plan, for example. She's been around forever. And actually, funny enough, she grew up, I don't know, David Hill 00:13:30 is amazing. Chris Oliver 00:13:43 don't know, five miles, 10 miles from where I live right now, which is wild. Only realized that after talking to her and becoming friends. So just continued growing. And it was just steady growth. And I was just making content, sharing stuff and learning and just kept doing that. But I like needed another challenge. We talked to so many customers and whatever, because like education just has lots of churn. Our two groups of customers are either. You pay because you want to watch one video because your boss has asked you to go build that feature. So you watch the one thing and cancel right away. Or you're in it for the long term and you just want to stay up to date and like absorb things that I'm making content on or whatever. So there are two very different types of customers, a lot churn and a lot stick around for the long term. And that worked out OK for growth. I was running out of ideas. because teaching is hard. You need new ideas all the time. And then one of our customers messaged me and was like, yo, have you seen Laravel Forge? He sets up servers just like your popular guide that started the whole thing and turned it into like a SaaS. And I was like, that's a great idea. In theory, I just take this whole guide. make a bash script out of it that takes a couple arguments then boom we're done we got a sass right so started working on hatchbox in 2016 like december which is crazy that it's almost 10 years now wow and so that became our second product then i did that and go rails and some other side projects and things and like I built billing and Stripe payments and everything, Teams and whatever, like Teams didn't exist in GoRails, Teams did not exist in Hatchbox in the early version. So I'd go back, hack them, like bolt them on. The billing stuff was totally different between everything because I would do it crappily one time, then I'd learn things and the next product would have a better billing code base. And then the next one, I have a better one too. And some would need different features. And so I'd like maybe backport some of those things. And eventually it was like, well, this is kind of dumb for me as one person to like try to maintain all this. The separate apps and the separate code bases and whatever. And another thing that I saw was Taylor Otwell had posted on Reddit that he'd made over a million dollars from. Laravel Spark, which was a SaaS template for Laravel. It was a hundred bucks, like a one -time purchase or something. And I was like, I need that. And he's done well with that. I should take my code bases and extract those and make, we made jumpstart rails out of that. And I had already made jumpstart, which was to make our screencast easier to record. I didn't want to have to rails new and then install device and bootstrap and add the JavaScript and then do all of that before we could even teach whatever the heck we were trying to teach in a video. It was distracting. So I made bootstrap that was just like, here's all the basics and we can then focus on building a forum or, you know, whatever the feature was. So anyways, those eventually like Hatchbox started to eat. 60 hours a week of time because that is a very hard product to bootstrap and build yourself. Servers and Linux and everything are very challenging and it made no money. So it was the side project for absolutely forever. It was just like a terrible code base because I used what I did in the tutorial, like used a bunch of these third party tools. It just made a lot of assumptions building it and it wasn't as flexible as it needed to be. So customers would come in and be like, Hey, how can I invite my team? You can't give me a week, a month. And I would go back and add those things. And just like we would use passenger and like, I love the, the team behind passenger, but like. When the new Ubuntu release comes out and they don't update their Debian package for three months or something, then we're in trouble because people will spin up servers on the new version immediately. They're excited to try it. For whatever reason, I guess it wasn't an automated build system or something. But we would have to wait. And then we'd be like, I'm sorry, you're going to have to delete that server and start an older one. And we just realized we didn't have control over a lot of the software we were using for a hatchbox. So that got rewritten completely from scratch on Jumpstart. GoRails got moved over to Jumpstart as well. Jumpstart's marketing site itself runs on Jumpstart, of course. And yeah, so I ended up kind of like building those products because... GoRails had high churn naturally because of education, just part of the industry. If you learn what you need to learn, you're gone because you're like, cool, I'll come back later if I need to learn anything else. It's not entertainment. It's not Netflix where you just want to keep it around in case you're bored or whatever. You would rather cancel GoRails than Netflix. I mean, there's some crazy people out there that would rather keep their GoRails subscription. And my heart goes out to you guys. It became something that I was concerned with in the long term that I was like, I guess as a business, I need something that is more critical or more important. Maybe the videos are important, but they're only briefly important until you build that feature or learn what you wanted to learn. And then they're not important at all ever again to you because you learned it, right? Yeah, David Hill 00:19:29 Yeah, I think the term you're looking for is like you're wanting something that's a little stickier. Right, Chris Oliver 00:19:33 right. I was trying to figure out something like that, that you would have a reason to stay around. And it was actually like important to you day to day, something you wouldn't want to lose and whatever. So that was why Hatchbox caught my attention. It was like, we already have people interested in this, you know, and there's also Heroku and everything else out there. But like, what about me who can't afford Heroku for every application? I can't pay for every dyno and database. background worker for my 100 side projects. Because as it turns out, making screencasts, you end up making lots and lots and lots of Rails apps. I have like 500 repositories or something on my own personal GitHub. There's a separate GitHub org for Go Rails videos. And like, we just have a ton of repos from here's this app, here's this feature, you know, we'll make a separate repo for it. So that kind of led me into that. And then the interesting thing was like Jumpstart's a whole other thing where it is not a thing you have to pay for all the time. And I sold it as a one -time purchase originally, but people wanted updates all the time. So I was like, this financially doesn't make sense. I can't give you free updates for 10 years. Yeah, for life. Because then we just have to continue selling to new people. Also, you don't have to pay if you're going to do the updates yourself or you want to fork off of. What we're doing, that's fine. You don't have to keep paying. So we ended up switching it to like a subscription thing. But it was cool because we have the education stuff that's high churn, subscription. We have the sticky hosting service that is very important. You don't want to accidentally cancel that. And then you have the template, which is kind of like a ultra low maintenance at a certain point. Like we don't have to add things to it. When Rails 8 .2 comes out, I've already got a branch for it. It's ready to go. Running our tests on it. I just had Claude go help me. I've wanted to do this for a long time, but it would be very hard to do by hand. But I went and converted all of our integration with device over to the Rails 8 authentication stuff and like pulled in all of the authentication to be plain old Rails controllers and everything. Wow. It's a big PR and I haven't finished merging it yet because Rails 8 .2 isn't done and released yet. I'll probably do it once that officially drops. That was an amazing one where I was like, at least this is going to be way more thorough than I will be as a human being. I will forget things. It's going to write additional tests. It's going to really make a good implementation of this migration because it can also do the research for me that can be tedious. Like, okay, we have OAuth. How does OmniAuth work outside of device? What about these quirks and things that we need to take care of and whatever else? It can do all that. in a 30 minute session for me. And that would have taken me a week at least probably. And I still would have missed things. It's kind of wild where we're at, but that brings up where we're at, which is, I feel like GoRails has always attracted probably 75%, if not 90 % of our customers or like individuals like you that sign up. You may have your company pay for it, but it's like, Genuinely, because you're interested in it. Most of the companies, even ones that have a team and education budgets, they like would rather you spend your budget on what you want to learn rather than like, hey, we're going to buy a GoRail subscription for everybody on the team and just sort of push it on everybody. It doesn't seem like companies really operate that way. So we never ended up getting too many team accounts. And I think part of the reason is they know that a couple people in the team are going to be actively watching the videos, but the rest of them might watch one every six months or something. And they're like, why do we pay for all of the seats when we could just do the ones that are active and then they can choose to do that on their own? So I feel like we've just naturally had individuals which has way higher churn. We're not selling as many annual plans because teams are going to want to budget for the whole year or whatever. So we haven't seen as much of that. And then when AI comes around, like at first, you know, you had the autocomplete in VS Code and you're like, Copilot is trash. Like it is just distracting because I type def and it's like, do you want this method? do you want this method what are you trying to do here and it's just keep suggesting code for you and you're like please stop i need to think and that was a terrible implementation of how ai can help you as developers just like adhd distractions being injected into your eyeballs non -stop and so like that didn't work and we're like okay this is fine like we didn't see much change from that but you go back a year from today It's getting way better. And then you go six months back from today and you're like, oh man, it writes better code than me a lot of times. Because you know what? It has more context than me. Because I get pulled into, for example, working on Hatchbox. We use Systemd to run your Rails server. or sidekick or solid queue. And then if it crashes, it'll restart it. But system D is a giant thing. There's so many configurations and settings and whatever else to know around it, because it's like very tied into understanding the Linux philosophy and how you want your operating system to run and whatever else. I had very minimal understanding of system D. I read some tutorials and it said, if you want to set up rails to restart automatically with systemd you're going to want to use this copy paste it and that becomes a feature in the first version of hatchbox and i'm like cool great but as you get into it later you're like We need to add socket activation so that Linux itself is the one listening to the port. So when Rails restarts, the requests coming into the port actually get held at the operating system level while Rails is not able to process them. So then Rails can reboot for a new deployment and then Linux will be able to just have those messages waiting so Rails can then process them and you get zero downtime. And then you start to realize like, there's sockets. This is a separate thing that needs to live next to my service and system D. We can do system D services that run as the deploy user. So they're not running as root. That's a good thing we should be doing. What other security things should we have here? You as a human being have to spend a ridiculous amount of time trying to read these freaking old, very terse Linux docs for system D, which has existed for a long time. The documentation is like, here's every option ever available. And you can read through each one and decide, do I need that? Do I not? Do I even understand this one to determine yes or no? But with AI these days, like it understands all that context for you because it's been trained on it. And then when you ask it to do something like, let's go generate that for the first time, if you've never done it, it's going to come up with that. Look at the Puma. systemd service example that lives in their GitHub repository, and then be like, actually, we should probably go base off of this. But this is maybe a little bit better if we add the security thing here or there or whatever. And it just knows so much more than you do as a human being. So what we've seen because of that is like, why watch your 15 -20 minute video from GoRails or any Lyricast or any other education platform? Because you're going to have to watch that. You're going to watch my version of some sort of almost academic version of the problem because we've got to condense it down into 15 minutes. And if we have too much context around it, like a real world application that we're adding it to, then it's too much overhead. You start asking like, well, why is that there? Where did this code come from and whatever? So we have to have like the academic version of how many watermelons can you fit in the school bus almost, which is Not particularly useful when you come back to your real project and your real job and you got to translate our example in the video to your constraints, which are different. They're not going to be exactly what we showed. It might be pretty close, but it's still going to be different. You're going to have to make changes. And what's better than doing that is having AI. Just build it right into your thing. And then you don't even have to watch the video. You don't have to understand the video. You don't have to understand the code. And it does a good job these days. Dang. You know, and if you give it the guidelines, like one of the cool parts about Jumpstart, we've got all this example code in there. There's billing, there's teams, there's roles, there's authentication, like API clients. There's components. We have our own like. very minimal version of view component that you don't have an extra library for or any dependencies. It's just like built in, but I don't know, 60 lines of code. It has all that context. So now when I asked Claude to go do something, it's like, you want to add this feature to the user model? Great. I'm not going to put the code in the user model. I'm going to put it in the users slash roles file. in your app models folder, because I've seen that every other feature you've built is also a concern inside of the namespace for that model. And it just now can actually use and absorb and reproduce the same context. So having all that style with like a jumpstart app is... incredibly useful to having it produce better code as well but it has been the downfall of go rails like i remember at rails comp last year was like telling everybody yeah we're down like 20 but the graph that i shared in our hatchbox pricing announcement two days ago now that graph was like here's our new subscribers for the year and that was our Stripe account that has GoRails and Jumpstart in it. Hatchbox is a separate one that I got smart about finally splitting our products and not having them all blend together. And so we can actually see some details for each one. But yeah, the number of subscribers that we have in 2026 is going to be less than the number of subscribers we got in 2014 for the whole year. the projected number is going to be less. And it was like, we're at like 146 new customers this year, Collin Jilbert 00:30:50 it was Chris Oliver 00:30:54 year, I believe, something like that. And it was like 230 in year one. So we've gone way up and our peak was kind of during COVID, I think, because everybody was like, I need to learn to code because that pays really well. And I can work at home and not have to talk to anybody or be around people that are potentially sick. So that was great. Then it got flat. And then it just went and tanked super duper fast. But we are lucky because we had diversified into other products. But Jumpstart's feeling the same hurt, which is kind of weird, though. I look at it as like people don't seem to realize, yes, you can ask. claude to go build you something from scratch and it can totally do that but actually giving claude jumpstart as your foundation is actually incredibly useful because like i said it gives it all the structure and context and stuff that it can use when it's writing the code so like colin and i these days i mean we review the code but like Every time I ask it to do something and maybe how we do it too, but we're not super vague about go build me a newsletter feature. We're like, build me newsletters. I need this functionality. I would organize it like this. Or we ask it to do like smaller things and more targeted things. So it doesn't go off the rails, pun intended, too much. The better guidance you can give it, the better code it's going to produce. Even when I do tell it, and I did do that. It was like, I pay for kit .com currently and we pay 250 bucks a month. Why don't you go build me newsletters into Hatchbox itself? And it like did a decent job, but it just didn't do a great job. It looked at our navigation in Jumpstart. It looked at how all the other features worked, how our design was with sidebars and everything. And like, it wasn't bad. It wasn't bad at all. But I had to go fine tune it and tell it, okay, we're using Lexi for the editor, but Lexi produces this code that isn't going to work in email. We have to inline the CSS and whatever. You got to go hold its hand and you tell it, I need the CSS inlined. And it's like, okay, cool. I'm going to grab the most popular gem for that. Is that the right answer? No, let me go. say, what are the options for CSS inlining? Because I haven't looked at them for a while. That's the flow you need to go through to actually have it produce like really good code. I mean, I trust a lot of the code that it produces because the other day I was like, hey, I've been meaning to use active job continuations. And I really haven't dug into how it works. And the documentation is fairly sparse. can you refactor this job to go use continuations? Because it's one that's a long running job that we interrupt on Hatchbox fairly often. And I was like, it'd be great if we could have some improvements there and you could just have it like resume if we intercept it at some point. And it did it. And it even caught a few things and it was like, well, I can't implement it this way because this feature needs... a certain thing i forget what it was but it was like a flag that i would never have turned on myself and it actually was looking at the internals of the continuations and implementation because i went to read the docs and that flag just had a very vague description with no example of why it exists or whatever and i was like i have no idea why you would use this but it was able to like tell me that It didn't do a great job of explaining it, but it did know that you need this thing on for this situation. And I was like, dang, this is stuff that, again, I would have had to take a good couple days at least to go learn it myself and whatever. So that's been the big reason why our business is unfortunately crumbling very fast too. The last year has been very quick. Scariest thing for us, which was like, okay, this trajectory is going down this fast. Hatchbox is actually growing because more people building more applications need more hosting, right? But people can't afford a dyno and a database and another dyno for background workers and whatever. It's expensive. Render keeps raising prices. Heroku has just always never lowered their prices. So they're still expensive. Railways, stability is not great. They're a little cheaper, but still expensive. Everything's expensive. So we were like, we might be in a good spot with that because it's a product that people have always told us they love. And we're incredibly grateful for that. But it's the thing that we at least... Collin Jilbert 00:35:36 prices. So they're still expensive. Chris Oliver 00:35:58 have that we can survive on. But then we were doing the math. I'm like, okay, it's growth is this. We've never done any marketing for it. It doesn't show up on Google when you search for Rails hosting on the first 20 pages. Like we click through 20 pages and we're like, this is not good. And, you know, as it turns out, obviously like people come to Hatchbox because of our podcast, the GoRails videos, the guides, Jumpstart, they know us in some way and have found it through that. David Hill 00:36:15 we click through 20 Chris Oliver 00:36:34 Wildly, we've turned it into a decent product. It wasn't ramen profitable where we could just keep on working on it forever. And Colin, we had some tough conversations in the last few months of like, given the trajectory of our income. We're going to need jobs by January. We're just going to be hitting that point where it's not worth it. We could keep doing go -rails on the side, but I don't want Colin to take a 50 % pay cut. I don't want to either. We've got mortgages and family and kids and whatever. We might as well start applying for jobs well ahead of time and just acknowledge what's the elephant in the room. But then we were talking to Ryan Castillo, which that episode for Remote Ruby will be out, what, next Friday? I was talking to him last week. We reached out because they are doing an AI engine optimization AEO or whatever he explained the abbreviation for. There were several. David Hill 00:37:44 were several. Chris Oliver 00:37:46 Yeah. And I was like, we need to do some real marketing and we're developers first and we're really bad at this. So I reached out to him and then we were going to work with them. And I was doing the math though. And last call we had was like, sorry, dude, I don't know if we should do this because that just accelerates our demise a little bit faster. And then we were talking and it was like, I had not. considered raising prices for Hatchbox on existing customers. That's just been a thing. I hate when companies do that and they always spin it as like, we're doing you a favor. We added all these features and that's why you got to pay us more and you should be happy about that. And I've always hated that. So when we talked about it though, like Colin and I realized that if we did put it on, grandfathered users. And we did, it went from 10 to $15 per server per month. So we only raised it five bucks. Some people had more servers. Theirs went up more, but like it's $5. It's not a 50 or a hundred dollar increase for everybody. So like, it was still pretty modest, but we were very like worried about doing that because we want to take care of our people. It's our community. So we ended up making that hard decision to actually not grandfather in. those customers and raise it on everybody. Because the benefit with that was that it changes our outlook going forward at the end of the month. We're going to raise it October 1st. If we only did it to new customers, we were like, we're just never going to get there. We're going to have to get jobs because it's not growing fast enough to make up for the decline. that's super fast on the go rails side and like we talked about earlier like hatchbox was always a side project so it took up 60 hours a week or something and made 5k a month and it was just the worst trade of all time for the longest time but it was like we were building things and it would give us complicated problems that we could turn into screencasts and added features to Jumpstart. So it was like our fuel for the other products, which for the longest time worked out so well. Even though it didn't make enough money to sustain us by itself, it really did drive all of that to make the other things possible. And we're really grateful for that because that got us here. But now we're like, oh, crap. AI's really screwed the pooch here. And we are in big trouble. And luckily, everybody, not a single complaint, not even one. I don't think everybody was incredibly supportive and understanding. And like, we can't thank everybody enough. You know, and a lot of them are like, you could have charged me triple. You should have. And we're like, we didn't get any complaints, so we probably should have. But we're in it for you guys. We are doing this for you. We want you to be happy. That's why you trust us. This will get us to be ramen profitable like when GoRails goes to zero. Collin Jilbert 00:41:02 goes to zero. Chris Oliver 00:41:05 It just feels like there are always people who will support us if we had a subscription for GoRails. I would still be paying Ryan Bates to this day if I could because I owe so much to him and $9 a month for the past, what, 15 years or whatever it's been. No problem. That doesn't add up to that much over the career he made possible for me. We have those same types of supporters and I can't say thanks enough because they make it where we can work for ourselves and just reinvest and make things better for them. But we realized if we don't raise the prices to something that's sustainable, then we've actually done them a big disservice because we can't actually build a product for them because we can't afford to. The only way to do it is to charge them more so that we can help them more, which my naive little bootstrap brain, not a business person, was like, that doesn't make sense for the longest time. And then it just clicked last week. Yeah, we have to do that. Like we kind of knew that we needed to do it, but we were trying to avoid it at all costs or whatever. I don't know. But it just became very clear. that we've got to do it. And then we're not going to be like these other companies. Like Jack Fricks is a guy who's a bootstrapper building post bridge on, he posts a lot on X about building the product and stuff. And I think he's in Canada, but he had a post the same day we raised our prices and it was some other company or it was the day after maybe some other company he was using and he's on their free tier. They sent him an email that says improvements to your free plan. And he was like, What are you talking about? I no longer qualify for the free plan and you're trying to get me to the $140 a month plan now. And that's the garbage that these companies do to their customers where they're like, we're going to pretend that it's great for everybody, but like the people who it's not good for, I'm just going to pretend they don't exist or whatever. I don't know. It's so stupid. So we were like, we just got to be as authentic and honest about the situation we're in. And we're like, clearly not being greedy here. We're trying to just survive and help continue doing this. And it buys us, in theory, infinite amount of time. Maybe AI starts to kill the hosting business too. I don't know. Fingers crossed. I didn't put that out there, man. Sorry. Collin Jilbert 00:43:37 out there, man. Sorry. Whoever's editing this, cut that part out. Yeah. Chris Oliver 00:43:41 Yeah. You know, so it's one of those things where we're like, This now gets us the safety net we need to just keep on forever, which is the start. We're not looking to rake in fantastic salaries. We won't be driving new 911s after this, even though I wish we could. Collin Jilbert 00:44:02 We'll have the Matchbox cars, Chris Oliver 00:44:02 have the Matchbox cars, though. Yeah, right. I was going to say, Collin Jilbert 00:44:04 Yeah, right. I was going to say, I still have my little Lamborghini that Kent got us, the little model. Oh, yeah. I got mine up there. Chris Oliver 00:44:05 I still have my Chris Oliver 00:44:08 yeah. I got mine up there. Collin Jilbert 00:44:10 Yeah, there you go. Chris Oliver 00:44:11 Shout out to Kent. Collin Jilbert 00:44:12 out to Kent. yeah i was gonna say yeah we're definitely not trying to make it rich right especially not by like charging people a whole bunch i think we'd rather if we get there it's gonna be because of server numbers not because yeah because we charge by the server if anybody doesn't know i guess yeah since we manage your servers the easiest pricing we could do because also pricing is complicated we just settled on like 10 or 15 a month per server Chris Oliver 00:44:24 because we charge by the server if anybody doesn't know i guess yeah since we manage your servers the easiest pricing we could do because also pricing is complicated we just settled on like 10 or 15 a month per server And you could spin a new one up, run it for a few hours, shut it down. We'll do the same thing that DigitalOcean would do. They would charge you for a few hours. And so it works hand in hand with the pricing at the hosting providers. But like to some people, that feels weird because my server is $6 and you're charging me now $15 to manage it. Yeah, we are, but we're not at DigitalOcean scale. We could reduce the price if you helped us manage another. a couple million servers or something, that'd be great. We could reduce our price a lot by then, I'm sure. So if someone out there is looking for a bulk deal, David Hill 00:45:17 if someone out there is looking for a bulk deal, you're saying that's a possibility? Chris Oliver 00:45:17 out there Chris Oliver 00:45:21 that's a possibility? Yeah, $14 a server. David Hill 00:45:22 Yeah, Chris Oliver 00:45:26 $14 .50. Collin Jilbert 00:45:28 I think we were talking about it before I actually went through making the change. You're getting essentially a DevOps person for $15 a month. Yeah. I mean, that's kind of a no brainer. I feel like when you think about it in that sort of sense. David Hill 00:45:46 Yeah. And speaking as someone who has used Hatchbox, I have this one consulting client that I put a project up for that used to be hosted on Heroku. And then I migrated it over to DigitalOcean with Hatchbox. The support that I got from both of you in terms of just trying to get that set up and working. was so top tier. It was like, yeah, this might be a little bit more expensive just on that Hatchbox portion of it, but it was so worth it because it was so easy to get my problems resolved. Collin Jilbert 00:46:17 Yeah, it's great. Love to hear that. Yeah, I mean, like for anybody that doesn't know, when you contact support, you're going to be contacting one of us. There's nobody else. There's no AI agent that's going to be responding to you. It's going to be one of two people. David Hill 00:46:25 no AI Collin Jilbert 00:46:30 But yeah, we love hearing the support stories. We get a good number of those. Chris Oliver 00:46:34 Yeah, seriously. It's so much fun because somebody will write in, you know, with an issue. We're always like coming at it from like, oh, no, what's wrong? What do we need to fix? What do we have to do? It used to be that it was always our fault. Like it was always a bug in our system somewhere, you know, some edge case somewhere. Now it's kind of great because it's like. Usually a configuration issue or something on the customer side, which makes support a lot easier. But it's always fun because you know that people are not happy. Something is not working. And so you do your best to fix it as soon as you can. And then to hear the thanks that people give us. because we'll hopefully have that resolved within a couple hours or something. Ideally, some complicated things take longer or whatever. Like we've had some stuff that's taken weeks of like narrowing down something that load balancer issue that only happens over the weekends or something like this stuff takes longer. But the messages at the end of the thing are like so grateful every time. And we forget a lot of like, what would that look like if you contacted Render or Heroku or Railway Support? It would take multiple days before they first acknowledge your issue, usually, or whatever. Like, it takes you a lot longer to just, thanks for writing into support. We'll take a look at this and get back to you in eight hours or something. I'm trying to deploy my application right now. Please help me. I don't want to come back to this tomorrow or in eight hours or anything like that. So we do our best to be as quick as possible. And I think that's one of our selling points, but it's not an easy one to like really sell or put on the website or whatever. It feels like. a weird sort of thing to try to call out because everybody says they have top tier support. Sure. But you got to actually use it to really feel that it is truly top tier support. So that's, I think why it continues to grow though, because if you look at the questions that come up on Reddit that are like, where should I host my rails app? Always, always two or three people show up and they're like, you should use Hatchbox. And it's not like we're monitoring that and telling our friends to go post on there. It's customers just out of the blue, finding it and posting themselves. And then we'll hop in and be like, hey, if you have questions, we run Hatchbox and we're here to answer the questions and support you guys. But we're not trying to sell it either. We're not trying to push it. This is not a marketing thing for us. We just also show that we're... part of the community just like the rest of you and you know that's one reason why people still love shneems being around and at heroku it's like if you have something that goes through to support and they miss it ping him he's around you can get a hold of him like he's present but that doesn't happen at render or railway or whatever it's just not the same so it's another nice thing that we are making screencasts and templates and other things and just a core part of the community i think that helps people support us which is great so just for the sake of kind of circling back to the original topic a little bit of ai yes so the announcement that you guys made for the changes to hatchbox that was primarily just going from ten dollars to fifteen a month per server was there more to it than that or was that primarily the big change David Hill 00:50:08 just for the sake of kind of circling back to the original topic a little bit of ai yes so the announcement that you guys made for the changes to hatchbox that was primarily just going from ten dollars to fifteen a month per server was there more to it than that or was that primarily the big change Collin Jilbert 00:50:26 That was a big change. We went back and forth for a while on a couple of different things. I think we'll still do an additional test, David Hill 00:50:27 was a big change. We Chris Oliver 00:50:33 think we'll still do an additional test, but only for new customers. Because one of the things we looked at was like over half our customers have one server. So they're paying us 15 bucks a month. And if magically all of them paid us for two servers, that would go a long ways to our bottom line. And just setting sort of a minimum of 30 bucks a month. What's funny is to us, we're very kind of afraid of raising prices. But if you look back to Hatchbox Classic, our pricing there was minimum $29 a month and it includes two servers. Then you could do 49 a month for four servers, I think. And then unlimited tier was like 99 bucks a month. Oh, David Hill 00:51:22 wow. Chris Oliver 00:51:22 Our entry price was a minimum of $29 a month. So we were worried about our existing customers, we'd end up tripling their price if we did that. And that wasn't the agreement when they signed up. So for us to say we're going to charge minimum $30 on the existing customers felt like too big of an ask. We only asked them to pay an additional $5 instead of an additional $20. That seems absolutely fair to do to existing customers. But I want to go try the minimum $30 a month that includes two servers. And then you can just add as many as you want above that. Because we do have some agencies and stuff that have like... 20 plus servers on their account because they've got a lot of clients and it's perfect. You know, it's a great way for them to organize stuff for all their clients and also saves money for combining all their staging environments under one big box or something. So we didn't want to cap the usage like we did in the past with the unlimited tier at a hundred bucks and those clients. If you've got 30 servers, you've got a team and the cost of Hatchbox is very negligible because you've got to pay people. And so it's not a big deal. So we wanted to leave that alone so that we could scale with customers. But I think we're going to test for new customers, putting that $30 minimum back in. Cloud 66 is probably our most similar competitor and they have a 29 a month minimum. It was some other weird limitations. Like if you want to use it with a team, you have to pay 69 or 59 a month. So you have to be on their team plan. So I don't think we're going to do that and push teams to be minimum 59. But I do think. We can at least make a big difference for ourselves on the $30 minimum and then $15 for additional servers. So it's basically the same thing. You just have to pay for two and you may or may not use them. But we have a lot of customers that deploy a production environment in the staging one, and you want those to be on separate servers so that an outage in staging or something going very awry in staging doesn't affect production. Chris Oliver 00:53:39 So maybe it'll also be another good thing. We can encourage people to like have another server or something, make it easy for you to do that right now. Our biggest issue, I think with onboarding is like, we ask you to design your own cluster of servers. So you have to tell it that I want a production environment that has a load balancer, two or three web servers. worker server and a database server. But you have to figure all that out yourself. And we're going to have templates that should help. You click a button and then you get to see it in a visual way that shows a load balancer, your web servers. You can just click plus or minus to add and remove web servers. You can say that, you know what, I want to save money for now. We'll put Sidekick on the Redis server together. that's fine we don't have a lot of redis traffic or whatever it doesn't need its dedicated instance and you can move it around later or something so we'll still be flexible in that way but we'll be able to like give you examples of like if you want to be production ready then you should move your sidekick stuff to a separate server you can have a load balancer and a web server together because the load balancer will end up just routing traffic to itself there but it at least makes it easy for you to add another web server because you already have the load balancer set up and you've tested it and everything so we're going to make that easier i think which will be helpful we're not done playing with the pricing some people were like you could have three or five times the price and it's still worth it to me. But other people were like, you know, if you raised it to minimum of $30 a month, I only have the one server. I would look at alternative options. I might not leave, but I would consider other options way more. And it's like, well, that's good. And maybe that's where we need to be with our pricing ideally. And even if you did jump up to like the $30 pricing, David Hill 00:55:36 And even if you did jump up to like the $30 pricing, doubling what you're currently charging, If fewer than half of your customers leave, you're still coming out ahead. Right. Chris Oliver 00:55:48 We just didn't want anybody to leave. Well, David Hill 00:55:50 granted. Because we love you all. Because you're good people. Chris Oliver 00:55:50 Because we love you all. Because you're good people. Yeah. That was really hard because we did think about that. It's like if we did triple the price, if half of them left, we're still coming out ahead. But it was a hard thing to stomach to imagine half of our customers leaving. Right. Because these are people we know and care about. And we'll see you at Rails World so we don't want to get jumped in like the parking lot or something. Yeah. Collin Jilbert 00:56:15 something. Yeah. Chris Oliver 00:56:19 So it'll be fair if we raise the minimum price and you sign up knowing that, that you're going to be like, you know what? I only have one server. But like Colin said, a DevOps person costs a bit more than 30 bucks. So great. I will do that. And we're also always ahead of the game on we're testing Rails 8 .2. We're like testing the new Ruby versions and getting them pre -compiled and ready for you and kind of like documenting issues because we're trying to be ahead of the game so we can bring those things to you that says like, if you upgrade your application to Rails 8 .2, you're going to need to do these things because if you deploy it, actually, you're going to run into an error. or whatever like we're trying to stay ahead so that we can give you that knowledge as well and then we're prepared in support to be like yo we've seen this already yep yeah like one of the things we stuff too yeah exactly yeah that's hard because like the big ubuntu server releases like the things you don't think about are for example we've run into this and we haven't changed anything yet but Collin Jilbert 00:57:16 yeah like one of the things we stuff too yeah exactly Chris Oliver 00:57:17 one of the things we stuff too yeah exactly yeah that's hard because like the big ubuntu server releases like the things you don't think about are for example we've run into this and we haven't changed anything yet but With the latest Ubuntu LTS, they've changed the temp folder from living on disk to living in memory. And there's very strict limitations on it now. Because on disk, it was fine, but you could overflow the size to whatever you wanted because it's just whatever your SSD can handle, basically. But it's bad for SSDs because you're writing to them a lot more and stuff. So Debian, I think, has had... temp in tempfs which is like a memory location file system and ubuntu finally switched over to that if you have a 512 megabyte of ram server you actually can't like install node .js because like node build will try and extract it in the temp folder and it's larger than what you're allowed because it's set to the default is set to like half of your ram maximum for tempfs for the temp folder so that's 256 megs but also there's an 80 quota so any one user can't use more than 80 of that size so 80 of 256 megs is all you can actually have in your temp folder for any one user which node .js extracting the tarball or whatever it was doing with node build because i think it was already pre -compiled It just extracted it and was like, hey, you're out of your disk quota exceeded. And we were like, what are you talking about? We've been deploying Rails just fine on this new version. And then a customer runs into that. And then we start looking into it. And it's like, oh, no. That's weird. Your easy solution is just use a larger server, which you're going to want anyways, because Rails itself will take 500 megs of RAM pretty quick and you don't have any headroom for like the operating system or the database or whatever. So you'll want a gig anyways, but people are trying to save a few extra bucks. But like that stuff that we know, and then maybe we make tweaks to it. So when we configure your server. If we see that it's very small in RAM, maybe we switch that over or something. But it's a little tricky because if we do change that and you make the server larger, we would probably want to undo that. And that gets a little complicated. Luckily, most people are like two gigs of RAM is pretty much the server size we want to start with because they kind of are already familiar with the out of memory errors from Roku, which I'm sure we've all seen many times. But that's where we're at. AI has been amazing. Amazing and terrible. David Hill 01:00:15 and terrible. Chris Oliver 01:00:17 Yeah, in many ways, it's incredible. And in many ways, it's really changed. Collin Jilbert 01:00:18 many ways, it's incredible. Chris Oliver 01:00:22 We feel like we're managers more than we are developers these days. Because you know what? Is it worth my time to go fix this stimulus front -end accessibility quirk? To go learn that stuff and do that? Or just have Claude do it real fast? in less than a minute or something, I'll have Claude do it because I got better things to do with my time. So I'm incredibly grateful for that because I feel like it gives us the ability to deliver on our product for customers way faster. Like bunny .net adds S3 support and we're like, hey, look at the implementation for everything else we've got. Look at these bunny docs. addbunny .net support and they can figure it out real fast and like great we've shipped a new thing for our customers they're happy and i actually was working on something else the entire time which is really awesome so it's bittersweet because we lost stability our foundation there is gone the whole end of an era thing comes to mind. Like that phrase is like, I don't know if anybody's going to be able to survive making education business in the future, not the traditional way. Who knows? Boot .dev seems to be doing pretty well, but I know they're, I don't remember if they raised money or not for their education platform for developers, but I know they were, founder was tweeting about Having lots of new subscribers and stuff this year, which is good to see. Maybe it just needs to be very different. That one's like playing a game. So maybe it has to be more interactive and human focused than like watching us type on our computers on your computer. That's the experience you get with videos these days. And it's just maybe not as opportune of a way of learning. as it could be these days because we have capabilities that we didn't before. Yep. Have you guys ever, what's his name? He used to work at Apple. There's a guy, it's on the tip of my tongue. I can picture his website and everything. He had all these blog posts and he was kind of in education, but he was very much a designer. And one of his talks, he, showed off this game editor kind of thing and it was like a javascript based visual platformer like he used i think the sprites and stuff from the game braid in the talk inventing on principle brett victor remembered it i'll have a link to this video in the notes because what he shows in that talk and this is i don't know 14 years ago is when this talk was. This may not be the exact one. I'll find for sure this timestamp for this, but like he shows making a platformer. So you have to worry about gravity and you have to worry about acceleration and speed and the characters movements and all of that. If you're going to make Mario, the most important thing you have to do is make Mario fun to control. How many times do you sit down, start Mario, Mario 64, Mario Super Mario World, S &B 3, whatever? Any of those games, the first thing you do is just start running and jumping around and just fiddling around because the movement alone is fun. You're not doing anything. You're just like, this is fun. And he talks about that a little bit. And then he's like getting a bit into the weeds where it's like, okay, I want to have you jump over this gap and I need you to land on like this platform. But there's another platform above it that you could hit your head on and fall into the hole. And you start imagining like the Mario levels you played and they actually had to design that given the characteristics of how like Mario jumps and runs and gravity and acceleration, everything. you have to very specifically place these things the enemies the world itself the platforms and you have to know all of those things to determine like is this going to be too challenging for level one does this need to go on level eight level eight needs to be really challenging you know and so all of those little things come into play and so he's showing this platformer game He kind of goes into talking about Braid, I think, and he used the sprites from it because Braid is a platformer game, but the twist with it is you can control time. So you play the game and you pause time and you can reverse time. So if you fall in that pit, you can reverse time and go back out of it and then try it again. But the real trick is that some parts of the world are not affected by you pausing time. So there's like clouds that move and they're except from that. And so then you can actually pause time and then land. You like miss a cloud that you were trying to jump on, but you pause time and then the clouds keep moving. So you can unpause time and land on a cloud or something that was like impossible for you to do otherwise. And so the game's very mind bending to play and I highly recommend it to anybody. And he's showing. in this talk like this editor he's made to kind of create a game like that so he's playing the game and jumps and falls in the hole or whatever and then he goes back and rewinds time and then he shows that in his editor he's made it where you can preview and replay those inputs and so you can see where the character would land in the future given that they ran and then hit jump at a certain time and it would show those future frames of the character but then he shows that i can now go into the code and the gravity number i can just drag and drop up and down and that changes the projection of where i see this character in the future landing so i can have gravity really low and he'll jump really high and go over both platforms. If I make gravity too high, then he like doesn't even make it to the platform I'm trying to get to. So he's like, I can just fine tune it that way. And I always looked at that and was like, this is incredible. And that like led into some guy making light table maybe, which is like a programming editor where you would write a function and you would kind of give it inputs and it would show the outputs. right in your editor. So if you had like a multiply function, you could give it like a two and a five and it would show you that like two times five is the result. The return value of this will be 10, but you could put in other numbers or objects or something. Obviously that works for like simple things. You couldn't give it like a database record and all the extra metadata around that. It's going to be like too messy to visualize, but he was playing with that idea of trying to build something. And it's like, We never were going to get that exact thing in the real world, but AI has made it possible for us to get that. We let it churn on some stuff, and then I can ask it, how do we do these cluster templates for Hatchbox? Well, there's a million different ways we can do it. I have my idea. Colin has his. But we can also ask AI to go build both of those ideas and then also come up with four other ideas and then build. a preview of all of them that we can interact with. And then we effectively get that, but for these infinitely complicated scenarios that like the simple editor was a cool idea and a cool demo in that talk, the practicality of doing that for building a complex interface or something just doesn't exist. But now we can kind of do that. I don't know. My feeling like most people I think is like, Early days were pretty crap. Wasn't very excited about it. And then today you look at it and you're like, this is better than me in a lot of ways. I still need my taste and experience to be able to guide it to what exactly I want. So there's still very much the human need to be there, but it makes it harder for juniors because they don't have the taste. And how do you develop the taste if you didn't do it the hard way? That's going to be challenging. But then you also look at Omachi. Chris Oliver 01:09:09 What if you imagined an operating system where you just build it yourself? That's a fascinating future. That's exactly what's happening. So like the other day, I'm not running it. But the other day I was like, you know what, Claude? I use the Elgato lights for my videos, for Zoom calls and whatever. And they kind of show up sometimes and they kind of don't show up other times. I don't know what kind of bloatware goes into their software. I don't care if it... has an account that I need to sync my settings to their servers. I don't know if they're collecting metrics about my operating system usage or whatever else. The Logitech mouse stuff is now that software includes a bunch of AI crap that you're like, I just want a mouse. And to be able to tell it that this button should scroll or be the back button in the browser or whatever, they got a bunch of garbage in it. So I was like, you know, this would be easy probably to start with the Elgato lights. And it wrote, I literally just told it to make a Mac app that shows up in my menu bar that controls my Elgato lights. Five minutes later, it's like, here's 160 lines of Swift code and it's already running. and controls both my lights. I can even sync the color temperatures between them. I can set the ratio that I want between the lights. So one's brighter than the other. But if I drag one of the sliders, they both stay at that same ratio. So they move together, even though they're not the same number. And I was like, that's it. I don't have to have some crazy secret knowledge of Elgato's devices and firmware and whatever. No. So the whole idea of We're limited by what Apple or Microsoft is willing to let us access in your operating system. Because of AI now, like you could go turn Linux into whatever the heck you want. I expect everything else to eventually follow through on that. Linux obviously being on with source is the easiest place to start. But like the possibilities are crazy these days and it's wild to look at. So my perspective on it has always been like. I don't see this getting that good. It's hard to imagine because I look at Grand Theft Auto 6 and like, yeah, that game took 15 years or something to build. That's unbelievable. But they also spent a billion dollars or two billion dollars or whatever it is building that game. And they had a massive team or whatever. But it's still a struggle sometimes to go build a freaking website. And we just now got authentication built into Rails. And it was like frustrating for people that it doesn't come with registration, right? And that was frustrating. But now AI can do it, even though the framework doesn't have it in there, it will write it as if the framework did. And it's just a different thing. We're dealing with a very different AI than it was two years ago. So that's changed a lot. But the thing, like, I didn't believe it because... it's hard to imagine that it could do that good of a job at any point in the future. Because you're like, well, look at the progression we've made on Rails over the past 10 years. It's been very small and very incremental in comparison. The speed of which AI has gotten good is unbelievable. But we also still worry about, for one, we can't create content for a living anymore. So who's going to do that in the future? AI is going to create content and then it's going to train on its own content. And then it's not going to have real unique thoughts as much. And everything's become so short form, I guess, with social media. People are writing less blog posts, being less thorough with their thoughts and everything. And we have to be incredibly thorough to make content for a video or a tutorial or something. The Learn Hotwire course took us probably a couple years to learn Hotwire and get good at it and understand how... certain features should be used and where they should be used so that we could make a course on Learn Hotwire, which took me, William, Kennedy, and Colin. Colin, you weren't on it like full -time during that, but William and I were like three months full -time plus a lot of your time, Colin. That was a huge amount, not to mention all the knowledge we had to have from the years of using it before then. David Hill 01:13:44 to mention Chris Oliver 01:13:44 to mention all the knowledge we had to have from the years of using it before then. And then we turned that into a course that was like distilled all that into exactly what you would really want to train your AI on or your brain. But then like we can't afford to do that anymore. So what's going to happen? Who's going to do that stuff? Because yes, the Rails source code and the docs and like the API docs are going to come out for all the Rails 8 .2 and Rails 9 .0 and 10 and 11. A lot of the content that's the most valuable is the guides, which the Rails Foundation, I don't know that they're doing more. You know, how much are they going to invest in those? I guess I should say there's a difference between the tutorials that I was working on with them compared to the guides. The guides are still a little bit more API doc centric. They're not showing an end to end example. And I think we're going to lack a lot of the end to end. examples that ai will want to consume but we'll see what happens i don't know it's getting better so like maybe it's going to be able to piece together just the plain code and api docs and all that stuff doesn't need to have the complete things anymore i don't know maybe it doesn't it's hard to know until we get there yeah it's hard to say because we don't do the research for the llms and all that so yeah David Hill 01:15:04 hard to know until we get there yeah Chris Oliver 01:15:06 it's hard to say because we don't do the research for the llms and all that so yeah Wild times. But yeah, end of an era. David Hill 01:15:13 But yeah, end of an era. With that announcement the other day, I just thought it would be an interesting and timely conversation to have with you guys about what led to that change. Chris Oliver 01:15:22 And so thank you both for coming on the show and talking it out with me. David Hill 01:15:23 thank you both for coming on the show and talking it out with me. Chris Oliver 01:15:26 Yeah, thanks for having us. And obviously, if anybody wants to say hi or whatever, for one, our emails are in like every video we've ever published. Chris and Colin at gorails .com. get us still on our old gorails .com email addresses. We'll just have to keep those forever for nostalgia purposes. Collin Jilbert 01:15:45 nostalgia purposes. Chris Oliver 01:15:46 purposes. Collin Jilbert 01:15:48 Yeah, for sure. Chris Oliver 01:15:48 for sure. Collin Jilbert 01:15:50 Eddie, thanks for having us a bunch, man. It's always good to catch up and have a chat with you. It's great seeing you both again. Chris Oliver 01:15:50 Eddie, David Hill 01:15:53 It's great seeing you both again. This has been the Ruby on Rails podcast. It was a pleasure talking with Colin and Chris today. Thank you for listening.