Code with Jason

303 - Christian Genco, Founder of Fileinbox

Jason Swett

Use Left/Right to seek, Home/End to jump to start or end. Hold shift to jump forward or backward.

0:00 | 1:11:39

In this episode I talk with Christian Genko, founder of Fileinbox. We discuss bootstrapping SaaS products, finding business ideas through openness rather than forcing, how LLMs have changed development workflows, TDD with Claude Code, and the enduring value of taste and abstractions in software.

Links:

A Snail-Mail Newsletter For Developers

SPEAKER_02

Hey, it's Jason, host of the Code with Jason podcast. You're a developer. You like to listen to podcasts. You're listening to one right now. Maybe you like to read blogs and subscribe to email newsletters and stuff like that. Keep in touch. Email newsletters are a really nice way to keep on top of what's going on in the programming world. Except they're actually not. I don't know about you, but the last thing that I want to do after a long day of staring at the screen is sit there and stare at the screen some more. That's why I started a different kind of newsletter. It's a snail mail programming newsletter. That's right. I send an actual envelope in the mail containing a paper newsletter that you can hold in your hands. You can read it on your living room couch, at your kitchen table, in your bed, or in someone else's bed. And when they say, What are you doing in my bed? You can say, I'm reading Jason's newsletter. What does it look like? You might wonder what you might find in this snail mail programming newsletter. You can read about all kinds of programming topics like object-oriented programming, testing, DevOps, AI. Most of it's pretty technology agnostic. You can also read about other non-programming topics like philosophy, evolutionary theory, business, marketing, economics, psychology, music, cooking, history, geology, language, culture, robotics, and farming. The name of the newsletter is Nonsense Monthly. Here's what some of my readers are saying about it. Helmut Kobler from Los Angeles says thanks much for sending the newsletter. I got it about a week ago and read it on my sofa. It was a totally different experience than reading it on my computer or iPad. It felt more relaxed, more meaningful, something special and out of the ordinary. I'm sure that's what you were going for, so just wanted to let you know that you succeeded. Looking forward to more. Drew Bragg from Philadelphia says Nonsense Monthly is the only newsletter I deliberately set aside time to read. I read a lot of great newsletters, but there's just something about receiving a piece of mail, physically opening it, and sitting down to read it on paper that is just so awesome. Feels like a lost luxury. Chris Sonnier from Dickinson, Texas says just finished reading my first nonsense monthly snail mail newsletter and truly enjoyed it. Something about holding a physical piece of paper that just feels good. Thank you for this. Can't wait for the next one. Dear listener, if you would like to get letters in the mail from yours truly every month, you can go sign up at nonsense monthly dot com. That's nonsensemonthly.com. I'll say it one more time. NonsenseMonthly dot com. And now without further ado, here is today's episode. Hey, today I'm here with Christian Jenko. Christian, welcome. Hello. Nice to be here. Um you and I have known each other for many years. Um I had another guest like this recently. We met a long time ago and then didn't talk for a long time and then kind of reconnected. I feel like that's what happened with us. You and I met, what, maybe like 10 years ago, something like that?

SPEAKER_01

That sounds about right. Yeah. Yeah.

From Med School Plans To Indie SaaS

SPEAKER_02

Probably at MicroConf. Yeah, I think at MicroConf. Um Yeah, so just for a little context, can you tell, can you tell us, you know, what were you up to at that time and and what are you doing now?

FileInbox: First Revenue And Identity

SPEAKER_01

Similar things. Uh so at the at the time, right out of college, I was supposed to go to medical school and uh ended up through a series of uh events, taking a uh sort of accidental gap here. And uh I was really inspired by Patrick McKinsey and Bingo Card Creator specifically. And I was like, oh my gosh, okay, I made homework assignments in college. They were more complicated than this, and this replaces job. This is amazing. So I I uh was playing around for that gap year of can I do something like this? Let me uh uh oh I was reading about the Stripe API, and I was like, oh, that'd be cool. Let me let me uh see one of these side projects I've been working on. Let me see if I can add uh Stripe building to it, because that's amazing. You can you can write code and it moves money from someone's bank account to your bank account. Like that's that's wild. So I put it on a project uh I had made for myself just to move files uh to to send myself files from school computers. And uh that had gotten picked up by LifeHacker and TechCrunch, and people were asking me for features, but I didn't really know anything about monetizing it. So uh, you know, over over about a month, I was like, okay, let me add these features people are asking me for and also uh do this Stripe stuff. And the first day I launched, without doing any sort of marketing, nothing. I I didn't really understand the business side of it. I had 10 people sign up for the$30 a year plans. And I was like, oh my gosh, I just got$300 for doing no for work I already did. Like, do these people not know that I already did this work? I'm just like changing a Boolean flag in their account to do these features. Um and then the next day, same thing, next day, same thing. And after a month or two, I was doing the math thinking, you know, I only spend about this much money per month and I'm making this much money per month now. I think at its peak it got up to like$8,000 a month. Uh so I realized, oh my God, I don't need to get a job. I don't need to be a doctor. Like this is great. I can just do this thing that I love of uh, you know, writing programs and software for the rest of my life. So yeah, that's uh that's what initially brought me to microconf. I remember thinking, you know, okay, the first thousand dollars that I make uh online, I want that to go towards my microconf ticket so that I can go and meet Patrick McKenzie in person to thank him. Uh and I did. And then uh yeah, that that uh I've made a ton of friends from that now. And uh that project's just going on, uh, file inbox. And I've I've gone through different phases of like trying to figure out how the marketing side of it works. A lot of that I picked up from microconf. That's been a great like uh grad program and how online businesses work. And tried a bunch of different stuff. And uh I sort of did Rob Walling's stair step approach backwards, like I started with the SaaS and then walked backwards of like, let me try doing some consulting. Do I want to get a real job? Uh but now we're back to uh doing SaaS stuff. And yeah, file inbox is still the active project, actually, of after going back and forth between different stuff. There's some low-hanging fruit in that that I I would like to clean up. Like I don't feel like I can let go of it as a project until I've done some things that are obvious things to do. Uh and there's a lot I could talk about of like emotional hang-ups I've had with that and having it really tied to my identity and like struggling with negative criticism that I got with customer support emails. That's been uh that that was a whole journey. But uh yeah, that's that's what I've been doing, and that's where I'm at. And I've still never had a real job. Uh I've done some consulting and spun up a small consultancy and then spun that back down when LLMs got better than the people that I was uh subcontracting subcontracting out to. Uh yeah, I think that's that's that's the story.

Why Use This Over Dropbox Or FTP

SPEAKER_02

Wow. Okay, so uh uh to help me understand like how this business works, like the naive perspective is like, well, we already have like FTP and Dropbox and stuff like that. Like this product seems redundant, like why do people use it?

Differentiation Through Deep Customer Insight

SPEAKER_01

Yeah, for sure. Which uh is very reminiscent if you remember the the hacker news comment when people uh uh they they launched Dropbox and somebody somebody was like, Dropbox, you could you could just like you know have rsync on a on a cron job or something and uh yeah, so it this is this was actually a big part of the uh self-consciousness or what's a good term for that? I don't know, imposter syndrome of yeah, I was looking at this thing like what sort of idiot would buy this when they could just like don't they know I'm just using the S3 API that you can use for uh uh way cheaper? Um and so what what I've come to understand from that is uh like my theory of mine was not very strong of like, okay, people don't have this this whole elaborate infrastructure context of like here's how web forms and everything else works. So the the sort of person who uses this who would want to use this over something like Dropbox or FTP is usually a business that needs to receive files as part of doing business. So think like a sign printer, they need to receive these large asset files as part of printing the sign, or like a loan officer, they need to collect a bunch of documents from uh a bunch of different people. Oh, it's it's transient customers also. It's not like, you know, for your accountant, you might set up just a shared Dropbox folder and you know, him and you are gonna have that uh one folder for several years. It's like, okay, how how often are you gonna get a mortgage? You're like, I don't know, once every five or 10 years. So it's it's more transient people. Same with sign printers, same with like magazines or or uh print shops if they're doing other sort of things like printing uh t-shirts or like competitions or like uh service businesses if they need to take pictures of the jobs and and get those in. Um so I make for them a portal that is just one URL they can send to all their clients or customers, and then uh the the client drags and drops the file uh into that window or you know, taps to upload it on their phone, and then that shows up on the business's Dropbox or Google Drive or whatever Cloud Storage uh organized. Um yeah, so it's it's uh you can certainly get it done with FTP or or anything else. But uh yeah, just part part of this realization I had that I think gave me more confidence is you don't need to be that much better. Like if it's something people are doing every day, if there's just a little bit of friction that you can just do a little bit better, that's enough to carve out this uh uh big enough space in the market to make your product justifiable to have it itself.

SPEAKER_02

Yeah, it's interesting. I've thought about this before and talked about it on the podcast. Like um if you open, for example, a grocery store, um, you're guaranteed to get more than zero customers because that's just the nature of brick and mortar businesses. Um but with online products, it's not geographically constrained, and so you're competing with the whole world. And so there has to be a reason for somebody to use your product and not a different one. A reason might be they just have only heard of your product and they haven't heard of some other product. Maybe your product is even worse and and the other one's better, but they've heard of your product and they haven't heard of the other one, and and so that's a reason. Um or obviously your product being just enough better, that's that's a reason too, or like people know you personally, and so they they want to use your product and support you and instead of using some other one. These are all reasons, but there has to be a reason. Um and so I think what you said is absolutely true. At the same time, um you you have to be a little bit careful and thoughtful about it because it's like there are, you know, you could pick a bazillion products of which you could create a slightly better version, doesn't mean it's gonna work as a business. Um yeah, that that that's something that I've thought about in my journeys over the years to try to come up with successful products.

Opportunity Expands With Technology

SPEAKER_01

Yeah. I love the grocery store analogy because yeah, we have two grocery stores within walking distance of us, Central Market and uh Tom Thumb. And there are times where Central Market is the best grocery store for me to go to because they're gonna have the one weird, oh what was uh uh juniper berries. I had to get juniper berries for my wife for this thing she was making. Tom Thumb doesn't have juniper berries, so central market is the best grocery store for me to go to. And there's times where I'm just trying to get like a bunch of stuff in bulk. Uh fair life uh uh low-fat milk, I think they don't have it at Central Market. And then Tom Thumb is the best grocery store to go to. Some people, you know, my my dad would probably be optimizing for just like what's the cheapest, closest one. So he would always go to Tom Thumb. Uh and he could be living right next door to me. Yeah. So and the you mentioned several differentiators of like uh uh you know, is is it uh a better product? Is it is based on price? The the I've I've I've become more crystallized in that of the best possible differentiator you could have is just understanding the person using it a little bit better. So how many to-do lists are there versus if I'm I don't know, a mortgage broker and every client I have, I have to go through this series of 20 checklists, and there was just this new regulation that means there's this other extra five-step thing that I have to do. The best product for me is a to-do list for mortgage brokers that has this context in it that cares about me, that like there's this intelligence behind it that you know that this person built it exactly for me, which is part of what I'm really excited about in this era of LOMs, is like, you know, I I can build software that's just for me, and I don't have to think about anyone else, and it's just gonna perfectly fit my use case like a like a bespoke custom-made glove that just you know perfectly understands me and and is tied in with everything else. Um, and I think that's the movement I'm I think that's the movement we're gonna see is like you know, we're we're the the level of niching down is gonna be uh uh an order of magnitude or two more than was previously possible. That like instead of okay, let's have let's have the CRM for every one of HubSpot or something, and then let's have separate CRMs for every industry, we're gonna see like, okay, how about a separate CRM per niche of the industry? And then we're gonna see, okay, how about every individual person has their own custom CRM that's perfectly tailored for exactly what their workflow is. Um yeah, so there's there's a lot of room in that. A really bad differentiator is just price. If you try to say, I'm gonna make Dropbox, but I'm gonna make it 50% cheaper, you're just gonna siphon off their worst customers, and uh like that's that's uh especially as like a uh bootstrapped like indie developer, that's that's not where you're gonna go.

SPEAKER_02

Yeah, yeah, I totally agree. Um yeah, it's interesting. Uh there there seems to be a fairly common view that the the uh pool of opportunity in the world uh decreases over time because you know maybe there's a finite amount of opportunity and it gets eaten up over time. Um but I don't think that's how the economy works. I think or or the way technology works, the more stuff we have, the more stuff we need and want. Um, like LLMs arriving on the scene creates an explosion of opportunity. Like there's not less opportunity now because of that, there's way more opportunity. Obviously, some opportunities have been destroyed because of that. Um, but on balance, I think it's it's a huge net gain.

Wealth, Value Creation, And Debate

SPEAKER_01

Yeah, absolutely. This is uh something that that uh confounds me when I see this this take on people like Elon Musk of like you know, there'll be a news story about how he he has a net worth of a trillion dollars or something, and there's this whole wave of people that are like he stole that money from like Bernie Sanders, I think we'll post something like he stole that money from the working taxpayer. Hold on, he created that value from nothing, like he made the pipe bigger. Um like I I want way more of that. I I don't want uh I don't want less of that. And if we if we're punishing people for doing that, like yeah, that's that's how uh society goes backwards.

SPEAKER_02

But yeah, so uh by the way, I do want to make a quick comment because there is such a like uh cultural hatred of Elon Musk in the tech world, um, with with so little um substance behind it. Like Elon Musk has paid the single biggest tax bill of anyone in the history of the world. Yeah. Um and and most of that wealth, uh, you know, it's it's not like he has I I don't know the the latest number, but 800 billion or or whatever it is. It's not like he has that much money sitting in his bank account. Like uh his his ownership is in companies and stuff like that. Like he would only have that money if he liquidated everything he owns. And is that a good idea? Just like when somebody gets rich enough, you just make them sell all their stuff and then give their money to the government. Like, I don't think that makes sense. Um, so like we can be critical of Elon Musk for certain things. Um there's there's a lot of stuff, but uh that stuff, I I I don't think so.

SPEAKER_01

Yeah, no. Like philosophically, the the way that I think about it is who do I want to have more resources? And Elon Musk has proved that if you give him resources, he turns that into more resources. He turns that into cool cars and spaceships that run really cheaply and Neuralink and uh uh you know, internet, uh uh satellite internet. And when you give the government more money, they make more daycares in Minnesota. Like I what what would I rather have? Who who do I want to have more resources? Well, Elon Musk makes way cooler stuff with his resources. I want him to have more resources, please. Like give him give him more whatever whatever he needs. Let's let's let him have it.

SPEAKER_02

Yeah, and you know, sometimes he behaves like a buffoon. Um but to me that's an acceptable price to pay. Um if if that's the whole package that we have to have, uh, then it's like, okay, I can accept his his buffoonery along with the electrical, the electric cars and rockets and all that stuff.

SPEAKER_01

Yeah, yeah, that's a that's a fair take.

Niching Down And LLM-Powered Products

SPEAKER_02

Yeah. Um okay, anyway, uh I think the the the opportunity in the economy is ever increasing um because technology is like combinatorial, the the more we have, the more we want. Um but the internet is uh it's a great uh how do you put it? It's it's a flattener. Um it's you know, again, it's it's not geographic geographically constrained, and so you're competing with everybody. And so it's really hard to come up with an idea. Um and a lot of these um ideas that occur to people naturally, like to-do lists and um issue trackers and stuff like that, uh those opportunities are kind of like I I think those are are all gone. You you have to do something that's like um uh well you have to do something where you can add value to the world. Um and like the world doesn't need another generic to-do app.

Finding Ideas: Serendipity And “Alpha”

SPEAKER_01

Exactly, yeah. The world doesn't need a generic to-do app. I have a friend who's he has a uh investment uh something like a like a hedge fund, and he uses the phrase alpha to mean like an advantage that you have that other people don't know about. So uh there's a lot of alpha, I think. The the place where the alpha is in making to-do apps is like what is the insight, what is the empathy or understanding that you have about a particular type of person and the sort of to-do app that they need. Uh, and that you can just niche down forever. If there's something that only billionaires need in their to-do app, of like, you know, that they need they need a to-do app system where they can just dump stuff into it and then they can have a team of people that are all feeding off of it and giving him feedback from it, something like that. Like, you know, that that sort of opportunity I think is is uh uh expanding in the ability to address it because of things like LLMs and we we just have increased ability to more bandwidth to make stuff. Um but yeah, that's that uh the way that I look at it is that's that's the place to be focusing on. It's like the hard part is no longer can you make the to do app? That's become table stakes. You can you can one shot a to do app now in clawed code or or uh any of these other tools. The the alpha is in how much better do you understand a particular type of person than anyone else does? Is there is there a mom group of Of knitters who you know in their to do app they need to make sure that it's it's combined with a shopping list of like how much uh uh yarn they need or something. Uh you know, that's that's where the alpha is.

SPEAKER_02

Yeah, and the tough part is to connect with those people. Um because these opportunities are a little bit like gold, like there's still a lot of it in the ground somewhere, um, but you have to find it. And you can't just go in your front yard and start digging. Uh, you're not gonna find gold that way. Um and a lot of times people just kind of get lucky and and they're digging for some other reason and they find gold that I don't know how gold mining works, it's probably not like that. Anyway, you know, I I I I've made a deliberate study of how people have found their business ideas when they've become successful. Um, and I found that they usually like stumble into something uh inadvertently. Like um, I don't know if you happen to know my friend uh Patrick Foley, who has attended some microconfs. Um but he at least I think he's he's been there, but um he worked with Moraware. Um and and those guys have been to Microconf also. They they do software for um concrete countertop fabricators.

SPEAKER_01

Yes, okay, yes, that's that's where I know I'm from. Yeah. Uh I'm confident I've talked to them at some point. Uh I know about the concrete shirt, yeah.

SPEAKER_02

Yeah, and so that's obviously like a very niche thing. It's it's something that uh at least I didn't even really like know existed. Like it's like, okay, concrete countertops. That yeah, I've heard about that, but I never think about concrete countertop fabricators and their uh scheduling needs and stuff like that. You would never ever come up with that that idea unless you like, you know, your brother-in-law is a counter concrete concrete countertop fabricator, uh, or whatever the story was with that guy. Um, and I found that very instructive because there's a lot of uh very questionable advice out there, like, oh, just go talk to people and like you'll you'll find ideas that way. It's like maybe, but like, is that how you found your idea? Nope. Um and so I'm skeptical, uh skeptical of that.

Priming, Affirmations, And Rational “Karma”

SPEAKER_01

We were talking before this call about uh Michael Singer and the the untethered soul stuff, and uh an idea from him and from Douglas Adams also, the the creator of Dilbert, uh, talked about the same sort of thing of if you're if you're trying to make it happen, if you're like going out being like, I gotta find my version of the the the countertop fabricating thing, that what I've found in my own life is is uh not just in business, but sort of uh any any sort of thing that I'm trying to improve or change about my life. If I'm if I'm like really focused on I gotta find this thing and it's gotta look exactly like this, um that just leads to frustration and feeling like it's impossible and feeling like ah these other people just got lucky, versus uh I I'm I'm sort of allergic to these ideas of of uh woo and and uh mysticism and stuff, but uh I I think Douglas Adams paints a more rationalist picture. Scott Adams, right?

SPEAKER_02

Is it Scott Adams? Yeah, it's a lot of people.

SPEAKER_01

You're right, you're right. Uh uh yeah, so this idea of like manifesting or uh writing down the thing that you want. I think what Scott Adams wrote uh like a hundred times a day in a in a uh journal was I am a I'm a successful cartoonist. And then something like four months later, after doing this every single day, these these seemingly mystical opportunities just sort of landed in his lap of like, oh, the uh this this prominent newspaper reached out to you through the spread of you know, there's this opportunity that just kind of came up. And his explanation for that is, well, maybe, maybe we're in a simulation and you know this actually is tuning into something, but there is a rationalist explanation for it, which is just the world is so rich and deep, and there's an infinite amount of information you're getting in, and you have to be focused on some subset of that information. This is the the experiment with the uh the basketball players and the gorilla, that if you're focused on counting the number of times the basketball players are passing the basketball back and forth, you miss the gorilla coming in. But if you're tuning your brain to, I'm looking for jungle animals, and you write that down every day uh in your journal, you all of a sudden pick up on that if if uh if you're watching that video, even if that wasn't what you were looking at. So, yeah, that's that's that's sort of how I frame it. If you're if you're open to, you know, this is the sort of thing that I'm looking for. I I I have a uh a niche software as a service business that's a thing that I can run by myself, and it's a fantastic market opportunity. I would want to workshop what the mantra was, so you don't uh uh tire out your hand when you're writing it every day. But like those those opportunities, I think, just sort of like present themselves in the world. They they sort of bubble up of like, oh my gosh, I hadn't made the connection before, but my brother-in-law is a chicken farmer, and we had this random conversation about he was saying what a hassle it is to find the right price of chicken feed. And oh man, that's actually a perfect uh easy thing for me to just kind of whip up together. Um yeah, so that that's that's how I think about it. And then, yeah, of course, the way that that presents itself is the story becomes, yeah, this thing just sort of happened. I just kind of stumbled into it. Um, and the the way that I think you can maximize your your luck surface area, at least what I found in my own life, is priming yourself for uh, you know, I'm I'm not gonna I'm not gonna stress out about that I have to make this thing happen. I'm just gonna kind of sit back and tune into like this is the this is the category of thing that I'm looking for. I don't know exactly what it's gonna look like, but uh uh kind of let the universe present it to you.

Jason’s Journey: From Salons To Saturn CI

SPEAKER_02

Yeah. Uh I I concur with with all that, I think. Um I don't believe in anything supernatural, but there are some uh phenomena that superficially seem supernatural, um, which actually have uh like uh rational explanations behind them. And I believe everything has an explanation. Um and I think your explanation about the uh how the affirmations work, uh, I I think that's pretty much right. Um and similarly, I'm a believer in like a non-supernatural karma. Um I I'm not sure exactly how it works, um, but I believe that it does work. And I think, you know, if you try to figure it out, like there is an answer, whether the whether the explanation is knowable or not, there is an explanation, you know. Um I was gonna say something about the affirmations. Um oh yeah. Um I read, it's it's basically the same phenomenon, I think. Um, but I read about it in a freelancing book. Uh this author said that if you uh give a lot of attention to marketing your freelancing uh services, you'll start to get clients, but not uh through the channels that you're marketing in. Um like clients will just like randomly come to you in ways that don't have anything to do with the sales and marketing activities that that you've done. Um and she said that she's seen it so many times that she gave it a name, she calls it the persistence effect. And I personally have noticed the same thing. Uh when I put effort into marketing, yeah, yeah, it's super weird.

SPEAKER_00

Yeah.

SPEAKER_02

But I don't think it's supernatural, and I don't think it's a thing that just happens somehow. I I think there's an explanation behind it. I personally don't know what the explanation is, but I do think there is one.

How LLMs Change Solo Dev Velocity

SPEAKER_01

Yeah, for sure. Uh and yeah, yeah, I I I think you can you can find a rational explanation for it. And also, uh, you know, when when I was in high school, I think I would have described myself as a uh a militant atheist. I I Well, getting these debates with these these poor Christian girls that are just like trying to trying to rip their worldviews apart. Um, and I no longer do that. And uh uh I think I've come around to like we're all talking about the same sort of thing. Other people just have different words to explain it. So for someone who's talking about it that it's mystical and woo and the universe is talking to them, like that's kind of an accurate model of what's actually going on. I would use different words to describe it, and I would want to pull it back to uh uh you know testable hypotheses of like uh this this sort of thing. But at the end of the day, we're we're just using different language to explain the same sort of thing. I might have a different system for it, so I I might be able to, you know, my my system might be better at understanding more of the edge cases of what's going on, and I prefer my way of seeing the world. And I just uh yeah, I I uh it just fits better in my brain of the way that I see the world. But uh I no longer feel this need to like correct other people of okay, if you think if you think this is a relationship that you're having with God and you're saying this through prayer, like good for you. That that's working for you, and I can kind of translate that into what I think is going on, and uh yeah. I might be wrong. I actually hope I'm wrong. Um in in what the the fundamental uh explanation for it is. But yeah, I I I've become much less allergic to alternate ways of explaining it.

SPEAKER_02

Well, I think it depends on like how right you need to be. Um like for example, uh I think the ancient Greeks believed that the explanation for the seasons was uh Persephones went away in the wintertime and came back in the springtime. And you can schedule your uh crops around that. That's a good enough explanation for that. Um but if you need to do something more sophisticated, uh you you're you're gonna want to understand that the earth is tilted and blah, blah, blah. Um, so it's like, yeah, I I I guess I agree that those explanations are fine as long as you don't need to, you don't you don't have a need to be more right than that.

The Real Bottleneck: Human Attention

Development Flow With LLMs And TDD

SPEAKER_01

Yeah, that makes sense. Yeah, you you can get into trouble if you believe in the Persephone model of the universe, and then part of that is like, ah, well, what does Persephone like? She'll she likes sacrificing your oldest child to make sure that uh the the harvest is good. Like, okay, calm down. Let's let's not do that. That's uh uh yeah, that's that's that's that's the place where I feel like it falls over for me. Um you brought up karma, and uh it reminded me of uh an explanation that I stumbled on for karma recently that came from an idea that I heard from Jordan Peterson. He's talking about this idea of uh hedonism. Uh he's trying to make an argument against hedonism, and he's saying, you know, it seems pretty straightforward of a way to live your life would just be to maximize pleasure for you. But what is pleasure and who are you? Is it is it you in this moment? Because you in this moment is going to make very different choices in maximizing pleasure as you over the course of the next day or the next week or the next month. And if you kind of take that out to the extremes, the the the logical conclusion of hedonism, uh sometimes referred to as like enlightened hedonism, is how can you maximize pleasure for yourself over all of your future selves? And that doesn't look very different than, well, how do you just make everyone's life in society better? So that's that's kind of how I view karma now is uh if you do something bad, well, what does it mean to do something bad? You're uh I I think a simple uh framing of that is you're making a decision for yourself now that's gonna be worse for people in the future. You're gonna whatever do some drugs and uh or you're gonna steal something. Well, if you're stealing something, you can obviously say, well, that's gonna hurt the person you're stealing from. But if you have that sort of mentality of it's okay for me to steal things from other people in the future, future you're people in the future. So you're stealing stuff from your future self. Uh you're you know corrupting your soul by stealing and doing that sort of thing, or you're not gonna clean your room, or you're not gonna pay your bills or something, and that's gonna harm uh uh future you. And that's that's karma. Karma is like uh uh decisions that you're making now that are that are short-sighted that are uh referential to the to the now and and not for the future.

SPEAKER_02

Yeah. High time preference. Um yeah, uh there's a quote I I wish I kept track of how many times I've repeated this quote on this podcast. Um if rascals knew the advantages of virtue, they would become honest men out of rascality. And I think that's a very similar idea. That's a Ben Franklin quote. Ben Franklin, that's good.

SPEAKER_01

Yeah, same, same idea. That's uh that's a good way to put it. I like that.

SPEAKER_02

Yeah. So me, I'm like aggressively selfish, um, but I'm like extremely altruistic out of my aggressive selfishness. Yeah, yeah, yeah, yeah. That's good. Yeah. Um okay, so yeah, uh I'll I'll share a little bit. Um, you know, you and I talked on the phone some time ago, but I think we didn't have much time. I don't remember how much I filled you in on what I've been up to in the last 10 years.

SPEAKER_01

Um very little, and I I'm having trouble remembering, so catching it from the beginning.

Designing For No Jank: UX Overhauls

Abstractions, Taste, And System Design

SPEAKER_02

Yeah, well, you've had had a lot going on in in your life with a baby and everything. Um my life is probably a low priority uh for you at the moment. Um but uh I think at the time uh you and I first met, I may have still been working on or just wrapped up. Um I had scheduling software for hair salons. And that was a really frankly, that was a really bad business idea for me. It's it's not an objectively uh absolutely bad business idea. It just wasn't good for me. Um because uh I built a product which which I think was better than the competitors. Um but the the sales channels for that kind of product are really difficult for a solo bootstrapper programmer kind of person. Um, because you basically have to either do door-to-door sales or you have to show up at trade shows and and stuff like that, or do advertising in trade magazines, which are prohibitively expensive in terms of time and money for a bootstrapper with a full-time job. Um, and there's other reasons too, you know, me and hairstylists were not people cut from the same cloth and stuff like that. Um, a whole bunch of reasons why that wasn't great. But I did that from the beginning of 2011 to the end of 2015, so a good five years. Never made more than about 500 bucks a month on that. Um cycled through a few more uh business attempts of some partially successful, like I put out a few ebooks which made I don't know, a couple of them made like in the five figures of uh sales, um, which I was and am pretty happy with. Um and then most recently I've been working on a CI product called Saturn CI. I started that in the middle of 2023. Um and this is um this is one that I feel really good about. Um because it's not it's not speculative at all, it's not experimental, like it's not a new category of product. Like people know what CI is, people need CI. Um, it's it's not an experiment. And so I'm putting all my eggs in this basket uh because there's there's no reason to treat it like an experiment. You know, that whole thing of like find 10 customers, get their money before you even write a single line of like I didn't do that because it's not an experiment. Um, but where I'm at with that from a business perspective is I've I've gotten my first paid customer several times because I you know I would get somebody who I thought was my first paid customer, maybe even get money from them. So it's like, yay, first paid customer, but then something happens and like they go away or whatever. Um, so I think I'm on like my third first paying customer. Um, and their usage of it, as far as I can tell so far, is very, very light. It's it's just a side project. Um, so I don't have anybody yet like really depending on the product. Um I'm in the process of onboarding um my former boss and his application, uh, which is you know like a serious production project, and that would be the first uh the first like real customer. But that is by no means a sure thing. It's the whole sales thing of like uh sending a million emails and being like, hey, can we move to the next step? Hey, just checking in again, can we move to the next step? Blah blah blah. Um, which which is you know just how it goes. Uh anyway, that that's what I've been up to and and where I'm at with that.

Time Shapes Work: Micro-Bursts With AI

SPEAKER_01

So this uh this launches into the the main thing that I'm excited to talk with you about, which is like how has the game changed now that LLMs are a thing? So like with your hair salon thing, what what my mind immediately jumps to is how would marketing that be different, knowing that we have you know these autonomous agents that you could deploy in parallel that could potentially be cold calling every single salon in the United States or uh you know sending targeted uh uh personalized email and mail sequences. Um and then similar thing for Saturn CI. Like what's what's possible now as a bootstrapper that wasn't possible before? And I'm I'm I want to talk to you to you about this both on the marketing side and also on the development side. That the development side is that that's that's the the reason I'm most excited to talk to you, actually, is like uh I'm curious what your setup looks like in uh developing it now that LLMs are a thing, and then what what might the ideal development setup look like? And then as a bootstrapper, now that we have LLMs, what's possible for marketing this and and distributing it that wasn't possible before that you and I have distinct advantage of because you know we we're technical enough to know how these tools exist and uh you know things that things that would have felt very unsavory. Like I never I I I tried cold calling once for about two hours, and it was it was the most oh god, I hated it. It's awful. Oh, it was awful. Uh but a skill set that I do have is I know how these you know uh text-to-speech and speech to text things work, and uh I can deploy these agents. And like, is is there is there now alpha for me there of uh uh things that are possible for me to do that now, like I actually we we would have an advantage over uh a more traditional uh like cold calling room of a bunch of people. And uh you know, the skill set there would be how well can you manage people and how well can you motivate them to get on the phone and call people, versus in this new world, the skill set is okay, well, how good are are you at orchestrating agents and coming up with systems to do this sort of thing. So that's yeah, that that that's that's where I'd love to launch this conversation of just like uh either on the technical or the marketing side. How are you thinking about that?

What Remains True As AI Improves

SPEAKER_02

I feel like this should be a series of podcasts because there's so much depth here. Yeah. Um, but something I think about sometimes is like, okay, in physical reality, there's a speed limit. This the speed of light, nothing can go faster than that, and that has all sorts of implications. Um and in uh work and the economy and stuff like that, there are similar speed limits. Um I I don't know if I could like exactly articulate all these speed limits, um, but they definitely exist. Like there's a speed limit of human thought. Um no matter how fast AI can do, whatever, um the bottleneck is the human mind. Because you can't have a solo business that's doing like Amazon scale of stuff. Your own mind as a single person is just too much of a bottleneck for that. Um, so that's that's something that I think about as part of all this. Um regarding how the marketing picture might look different for the hair salon thing, I actually think not very different at all because um cold calling in that industry doesn't really work, uh email doesn't really work. It's a very offline industry. I think I think technical people forget just how untechnical non-technical people are, even young people. Um so not very much different, but for Saturn CI, it's it it's so different from how it would be going otherwise. First of all, it probably wouldn't exist. Um because it's something about AI is it doesn't just help me go faster, it helps me be willing to take on things that I wouldn't even be willing to take on otherwise. Yeah. Yeah. So with this, it's like, okay, I don't know how to build a CI system, um, but with AI holding my hand, I I think I can manage it, and I have. Um, and I can say with absolute confidence that it would have taken me so much longer to do it uh without AI. Like so much longer. Yeah, yeah. Um but but it it also has helped me with marketing. Like, for example, my marketing site for Saturn CI, um, I spent like basically zero time building it because I was just like, hey, AI, make me a marketing site. And I have this like almost pathological aversion to third-party dependencies, and so I didn't want to use like uh what are those tools? Like um the static site generator things. There's like one big one. I I forget what it is. I didn't want to use webflow. No, it's uh oh Jekyll, I think, yeah, yeah. Yeah, yeah, yeah. I didn't want to use that or anything like that. I I just wanted to build my own so it would be uh infinitely customizable. Um and so you know I I won't have this dependency that I always have to maintain and and upgrade and stuff like that. Um so it's like, hey, build me this like static site generator, uh, and it did it, and it took two seconds, and then I had myself a website, and so stuff like that, it just totally removes the the friction. It's it's a metaphorical WD40 or lubricant. Um the the the parts where I would have gotten hung up before, it just lubricates that stretch and gets me right past it. Love it.

Closing Links: Gen.co, Saturn CI, RubyConf

SPEAKER_01

Yeah, I like the the metaphor of the of the lubricant and that it's going faster. To to try to have a reasonable scope on this episode so it's not like eight hours long. I think I think what I'm most curious in talking with you about is like what your current development workflow with LLMs look like, particularly because in my head, you're the Rails testing guy, you've put more thought into TDD than anyone I've ever known about. And so I'm curious, I'm curious if that's a big part of your workflow. And then kind of this bigger idea of like what are the things, you know, fast forwarding six months or a year when when LLMs are even more amazing and autonomous and more capable, what are the things that we're still going to be doing so that we can start honing where is the human the most valuable in the loop in in this process and uh and and going to continue to be uh the most valuable? Like certainly defining the problem and just saying, hey, there's this need, there's this itch, uh uh you know, complaining about things is something that I think humans are uniquely good at that that LLMs aren't going to be able to do. Um but then also like is it the orchestration layer? Is it having taste in how the code is organized and how the architecture is being put together and like the technology choices that we're doing? Um, particularly around this might be the core of my question of like when when designing a feature, what does that currently look like for you? Of do you follow TDD with LLMs? Do you uh uh what I find myself doing is just kind of saying, like, here's the feature I want to build, and then doing the exact wrong thing of like you build the feature first and then you build the test afterwards, and you might find a few edge cases uh from the tests that you did. Um like what does that look like for you now and then and then what might that look like ideally?

SPEAKER_02

Yeah, wow. Um okay, so I want to start by saying that I'm kind of a laggard with AI adoption. Um as enthusiastic as I am about it, I always feel like I'm a few steps behind in adopting the latest tools and stuff like that. Um so I use Claude Code, I've been using it for some number of months now. Um, I would never go back to anything uh that's that's not like this agentic AI flow. You can't, yeah. Yeah. Yeah. Um, because again, it's just like a lubricant that makes everything go so much faster. Um and I definitely do still follow TDD because there are certain things that AI changes and certain principles that it doesn't change. Like having AI doesn't mean that it no longer makes sense to decide what to do before you do it. Um, and that's AI or no, that's like the biggest problem that I see with programmers and even like managers and whole teams and stuff like that. They don't decide what to do before they do it. And so it's like, how are you gonna accomplish anything meaningful if you don't even know what you're trying to do? It sounds like so crazy and stupid, but that is reality. Um, like basically every team that I've uh ever encountered, they're just like plowing forward with something. And if you ask them, like, hey guys, like hang on, what are we trying to accomplish? The the they'll probably give you an answer at some low level detail, but it's like, yeah, but why? Um, and and like if you press hard enough on it, it's like, yeah, I don't really know. It's like, okay, well, let's figure out what the landscape is and what the scenario is. Where are we now? Where do we want to get to, all that stuff. Um, and then let's figure out what to do, like 99% research and um observation and stuff like that, and maybe not 99%, maybe maybe 50% research, observation, etc. Uh 40% planning, and then 10% implementation. And that's how you get like 10x, 100x productivity, um, not merely by using tools like AI and stuff like that. So honestly, I think like the biggest part of it is things that were always true and always always will be true, because you can use AI to really quickly do a bunch of stupid stuff that doesn't actually need to be done. Um but that's that's no good. Um so the biggest leverage is still the things that lead up to once you engage with the AI in deciding what to do.

SPEAKER_01

Can you make that more concrete for me? So like a recent feature that you did, and I'm curious from the moment of like you know how how did you how did you develop the feeling of there's something that needs to be done here? How did you hone what actually needs to be built to to address this feeling? And then what was the moment that that you could switch from the planning to the execution?

SPEAKER_02

Yeah, good question. Um one of my principles of development in Saturn CI is no jank. So things like I don't know, for example, the the popcorn UI where you load a page and you're trying to read a paragraph and it keeps jumping down periodically because ads are loading or whatever. Like I don't want anything like that at all.

SPEAKER_01

Um in some things would totally turn me off of uh Next.js. I was on Next.js for three or four years, and yeah, the the waterfall loading of just like as things are coming in, it's it's like doing multiple fetching for let's let's fetch the user session, let's fetch the data for this, and now that depends on the data for this, and yeah, it's uh Rails. Yeah, I I switched because ostensibly that method would be faster because the the session's talking, you know, the client's talking directly to the database. And in practice, yeah, it's a it's a ton of jank. Uh, and it's slower. And you know, switching back to Rails, uh, it was when Rails 8 came out, is when I uh switched back, and I was like, oh my god, the page just loads and it's loaded. This is this is objectively better. How did I get tricked into thinking this like serverless way of doing it was was better? Uh yeah, I I I like no jank.

SPEAKER_02

Yeah, um, and there there was a longstanding uh jankiness in Saturn CI where okay, so the the UI is kind of like an email client um where you have a list on the left and the detail on the right. Um, but if you were to uh, for example, um delete one of your test runs, it would do a full page refresh. Um and I don't know, it would like change your selection from whatever you just deleted to the very first item where it seems maybe more logical to just have your like cursor move to the one that's just above or just below or something like that. Um when you delete an email in your email client, it's not like there's a big refresh, that particular email just goes away. And then same thing when you would uh rerun a test run or any action you would take, it would just do a whole reload and do some things that were a little bit illogical. Um it was very logical from the standpoint of me, the programmer, because that's just the way the mob flopped, and I didn't have to do anything specific, but from the user's perspective, it's like why is this happening? So I wanted to fix that. Um let's see, that's that's the premise. I forget what exactly you were interested in.

SPEAKER_01

You you had the idea, you know, you're you were using this, and uh you have this this uh uh element of taste of that you want no jank, and then you notice there was some jank in it. So now so we we have kind of the seed of something here needs to change. What's what was your process of refining that into a definition of the work to be done? Do you now start chatting with Claude about is this feasible or or what might we do here? Like what is that what does that process look like next?

SPEAKER_02

Um I have a small text file in my project root called to do.md or something like that. Um I'm anti-backlog, and so I I never let this list get very long. Um but in there I put my various scenarios. Like when I rerun a test suite, um it should uh the the new run should appear in the list with no page reload, uh same thing with delete, same thing with there was like four or five actions in total. I don't remember what they were. Um, but I started by listing those things out. And then I picked what I thought was the easiest or most important one, whatever. Um, and I told Claude Code to translate this scenario into a failing test. And I and I have kind of a um I have like a command um that gives Claude some some details on how to go about the TDD process, and I find it follows it pretty well. Um and it also I found like will look at the other tests in my code base and mimic the style. And so that's good because if you just let it make its own decisions about how to write tests, I find that it'll it'll write pretty poor tests, like tests that are pointless and don't actually really test anything and they're hard to understand and stuff like that. Um, but I have it dialed in so that most of the time the tests it writes are pretty good. And in this case, it wrote a system spec, which was the level that I wanted, because I wanted the test and the assertion to be very loosely coupled from the implementation. I I didn't want the test to say anything about how this behavior was achieved because I wanted the freedom to be able to change how the behavior was achieved. Yeah, yeah. So I did that, and then I said, uh, okay, great, this test fails in the way that I expect. Now I'll write the code to fulfill the assertion and make this test pass. And what it did was I found extremely inelegant. And when I dug deeper and I was like, how could this be different? It was very unclear. It was kind of like the in the inelegant way that it was done was kind of by necessity. And so I had to I had to stop and think harder and ask myself, like, why exactly do I not like this? What's the problem with it? What's what's going on here? Blah blah blah. And I I can share, I can share the details of it, but long story short, I ended up spending like a couple days um kind of reconceptualizing this whole area because I found that this whole area was kind of conceptually muddy, and that's what was leading to the inelegant solution. It wasn't exactly that the code was bad, it was that the ideas were kind of rotten, and you couldn't add on to this corrupt base of muddy, incoherent ideas. Uh it just you you couldn't add to that in a way that was elegant. What was needed was to go down deeper and to take these corrupt ideas and make them coherent and consistent and elegant. And once I did that, the solution was almost trivial. Yeah, yeah, yeah.

SPEAKER_01

Okay, so this I think is pointing to one of these bigger questions I have of where where are humans most valuable in this loop? And I think it's taste. Like, I don't I don't think I don't think the value of taste will ever go away, even if we're on, you know, uh uh Opus version 10 or whatever. Um like having having that intuition of that it just feels like a bad abstraction underneath, I think is that that's the biggest that's the biggest difference that I've seen between senior engineers who are using these sorts of tools versus uh my brother has no technical background, but uh wanted to build a uh like a habit tracking app. And so I I showed him V0. And uh I've seen this with a few people, but the the pattern is you know you you get a really good first version, and then you start correcting things, and you're like, oh, I I want to have this feature and uh uh have this other thing and have a toggle for this. And then the whole thing starts kind of crumbling apart because without the without even even having visibility into this technical layer to have taste about, um, yeah, it's messy abstractions, it's it's uh uh I like how you framed it off like the ideas are rotten. It's it's just like these things cobbled together. Um, versus if you're if you're putting this work into it of let's let's make it really clean and really simple and really beautiful from uh you know at every level, um, now everything that you're adding onto it can can be like nice and smooth over and it the the the pieces the pieces fit much better together. So yeah, that's uh I that that that's very important, I think, that that you invested the time. And uh it's the difference, I think, between like having a job versus being able to work on your own stuff is you can spend the time to make it really nice and like be doing these uh these decisions that that make more sense in the long term. So when uh there was one thing you said that I'd like to dig into of like you're you're sort of contemplating why you didn't like it. What does that process look like to you? Because I've found a lot of benefit recently from externalizing that sort of muddy thinking into something like ChatGPT. So I'll just uh you know hit record and and just kind of start rambling about why I don't like it. And then I might sort of like get around it's funny, like ChatGPT almost isn't isn't valuable. It's more just like an excuse for me to be talking out loud around the problem. But um, yeah, what what what is that what is that process of just kind of like exploring the idea look like for you? Are you journaling or are you just kind of sitting there silently thinking in your head, or are you are you talking out loud to dictation? What does that look like?

SPEAKER_02

Yeah, that's a really good question. Um and side note, I can go maybe like 10-15 minutes more. Um I think a big part of it is having a like vocabulary and um I don't know, a certain level of like awareness and lucidity and stuff like that. Um because like I don't know, if if you take somebody who's never coded before and sit them down in front of this problem and you're like, hey, what don't you like about this uh solution? They're like, I don't know, I don't know anything. So like how could I have an opinion about this? Um and so I I I wanted to like articulate to myself very precisely what I was uncomfortable with in that solution. Or at least I should say that's generally my angle. I I don't remember in this case whether I whether I came at it specifically that way or not. Um, but I do vaguely remember that I like had a conversation with Claude about it. Um and and where I landed was uh you know, again, it's like the email client style thing where there's a list on the left and detail on the right. Um it got very confusing, like the business of displaying the the test suite runs in that left panel and doing the navigation and all that stuff. Um so I I ended up dividing it into three layers. I I think I call them the control layer, the display layer, and the navigation layer. So the control layer was like at a very abstract level, here's here are the commands. You know, here here's what we're gonna do. Delete this thing, whatever. Um, and at that level of abstraction, we're not worried about navigation or display or anything. We're just saying like delete this, rerun this, whatever. Um and then I think the baton is passed to the navigation layer, and it's like, okay, this thing has been deleted. Because it's been deleted, we need to perform a navigation in this sort of way, and then the baton gets passed again to the display layer, and it says, okay, show such and such thing. Um and and and so I think what I achieved there was I I had a nested stack of abstractions so that uh the the the content of this area of the system was Um comprehensible by a human mind. Comprehensible by a frail, weak human mind. You know, I I'm not I'm not trying to be funny and like say that I'm particularly dumb or something like that. I just mean the human mind it has a limited capacity. This is another one of those speed limits. And so we have to identify or invent abstractions uh to make these huge numbers of concepts um comprehensible and work withable. Um and and I never would have arrived at that solution had I not been aware of these things like we make code easy to understand because we have limited brain power and we have to we we have to create abstractions to make these things tractable, and there's this very classic idea of layers of abstraction, you know, like Linux, database, application layer, HTML, CSS, blah blah blah, layered application architecture. It's it's a very common um, not even just in computers, but outside, also a very common way of making this really complicated world tractable. Um, and I again I never would have come at that if I had not had that mental background and tool set and all that.

SPEAKER_01

A year from now, how do you see this process changing? Like what's what is your ideal? You wave a magic wand. For me, I think it's like I would love to be able to be as or more productive as I am right now, like at my desk with multiple monitors. If I'm like out at the park playing with my kids, or like uh, you know, out on a walk, just sort of like letting these ideas percolate, and have some sort of uh feedback loop of maybe I'm using the app on my phone and I notice, oh, this this kind of sucks that there's this jank here. Uh let me have that same sort of process, but just with voice, let me ask it to write the failing test, and I already have the prompt set up so that it's gonna it's gonna write the nice test. And then it shows me the code for it on my phone, or it explains what the architecture was, and and then I notice this feels bad, and then I'm kind of like exploring what what different architectures could be. But then at that point, like you know, imagining imagining coding models that are 10 times better than what they are now, do we still care about the code or or is the is the level of taste more abstracted to just like what the architecture of the thing is? And as long as it's a Rails app running on a VPS and deployed with Camal or like whatever, whatever we like there, like uh and we're using TDD, nothing else matters. Uh how how do you see this changing uh in over the next year?

SPEAKER_02

Wow. Okay, this is why this needs to be a series. There's so much here. Um I want to mention at least two things before I forget them. Um one is the non-fungibility of time. Um so like sometimes I have hours of uninterrupted time and I can sit and focus. Um other times I I only have like little snippets of of time. Um like maybe I have 15 minutes free and then I have to do something. Um and you can't you can't use all time for the same things. And there's your mood and stuff like that. Um and and I've I've found that I'm much more successful when I uh change the shape or I select what shape of work I'm gonna work on to fit the constraints of my my current available time. Um so if I have 15 minutes, maybe I can work on a piece of writing, but I'm not gonna work I'm not gonna begin a really big difficult technical feature or something like that. Yeah. Um AI has really changed this because I've had a lot of uh situations recently where I'm like making dinner and I have my laptop on the dining room table, and I like put in a prompt and then I go do some stuff in the kitchen, go back, give a response, go, you know. So I'm spending like 10 second little bursts at the computer in between like five minutes of doing something in the kitchen, and so I can multitask in a way that I really couldn't do before. I I and you know, part of that is the fact that like these LLMs are just kind of slow. What would it look like if um they did everything instantly? Yeah. Like I'd have to have like more focused a longer stretch of focused attention. But anyway, for the time being, that has changed it has changed the patterns of available time. Um snippets of time that were uh not usable for work productivity before are usable for work productivity now. Um that's one thing I wanted to say. Another thing is um I think it really pays to get clear on what is incidentally true at any moment in time based on where the like level of technology happens to currently be, and what is essentially true and will always be true no matter how good the technology gets. Like, for example, we talked about TDD. Um level of technology will make it make sense to not decide what you're gonna do and clearly spell out the specifications for it before you do it. Yeah.

SPEAKER_01

Yeah, that's a higher level philosophical thing that yeah, no matter if we're we're in a future space civilization and instead of these LLM agents, you're managing a bunch of uh uh like space probes, like yeah, I would still want that higher level framework to be doing anything. Yeah, that makes sense.

SPEAKER_02

Yeah, and the question of do we still need to understand the code? Um I would reframe that a little bit um and say, do we still need to understand the system? Um because like you can a system is like a tree of abstractions, and the individual lines of code are like the leaves. And so it's like, yes, it incidentally is made out of code, but really what we have is a software system. Um, and and to me, it's like, yes, of course, we still want to understand the system. The only question is like, at what level of abstraction do we need to understand it? Kind of what you alluded to, I think. Um and I've found I I think this is always true before and after LLMs. Um as long as your system is conceptually coherent at a macro level, uh, it doesn't matter. It can be really nasty at a super micro level. Um I I I think I I I I think um you need to it needs to be comprehensible pretty far down. So I'm comfortable with like not understanding some of it, like at a very low level, but really like I keep the AI on a pretty short leash and lay my eyes on pretty much every line of code. Um, because I I want to to be able to understand it. I think that's like a good bet. I would I wouldn't want to be at the mercy of the AI to be able to understand anything.

SPEAKER_01

But for the next year or a year from now, do you think we'll be operating more just in the domain modeling arena of things? And then the code will be more of these leaves that you don't really care about the the messy details of.

SPEAKER_02

Um this is something I'm ready to be wrong about and and ready to change my mind about because I've already changed my mind a little bit on it. Um but I think this is one of those um uh universal, always true kind of things where it doesn't matter how good the technology is, you're never gonna want to make a bet that I, as the human, will never ever need to understand this, and I can depend on the LLM to understand it for me. Um I I don't see myself ever being comfortable making that bet.

SPEAKER_01

I've seen this change uh for myself over the last year. I used to care much more at the level of lines of code, and now I find myself caring much more at the level of function definitions, and then even then, sort of like a little bit further back of just just the domain of what is this class and what are the responsibilities of the class and uh what what's the what's the potential things that this class can be doing. Um so yeah, I'm I'm uh I I like thinking about it in terms of systems, and just like what is the layer of abstraction of the system that you're dealing with, what and and that's probably what is gonna have most of our attention. And uh yeah, it's gone up from like caring about the bytecode, caring about the assembly. I've never thought about that in my career of the the individual assembly function for like comparing Booleans or whatever. Um and I can see that now moving up to a year from now. I think probably I'm gonna be caring much more just about system level. Here are the nouns of this thing, one level deeper than just looking at the website and saying, hey, make this faster. Uh, because I think then the the internals kind of break down. I think I think taste is still gonna be valuable for a long time. Yeah.

SPEAKER_02

Um yeah, and actually um I've had a few occasions where I've let myself not care about the lower level details, and then I've ended up really regretting it. Um not because I couldn't understand it, but because I couldn't change it. Um all right, we we really should wrap up now.

SPEAKER_01

Um I'd love I have so many more things to talk to you about, so yeah. Yeah, I know.

SPEAKER_02

Um we'll have to do many more episodes. Um, but for now, is there anywhere you want to send people to um find out more about you and what you're up to?

SPEAKER_01

For me, you can go to gen.co, g-en-.co, and that has links to everything of uh like fileinbox.com, the main product, and uh I post most on x uh x.com slash c G E N C O. Uh that's it. That's all my spots.

SPEAKER_02

All right, we'll put that stuff in the show notes. And I have a couple things of my own. I'll I'll put a link to Saturn CI in the show notes because I'm trying to get that out there as much as I can. Um we we mentioned Rails earlier. Um I happen to actually be the uh the co-chair of RubyConf 2026, which will be taking place in um Las Vegas in July. So we'll put a link to RubyConf in the show notes. Um so if that interests you, Christian, um you can I'd love to go. Yeah, yeah, yeah. And we can hang out in person again, which we haven't done for many years. Um, but anyway, it was a real pleasure talking with you today, and thanks so much for coming on the show.

SPEAKER_01

Likewise, thank you.