# 139: High On Fable ![Cover](https://wsrv.nl/?url=https%3A%2F%2Fimg.transistorcdn.com%2F7-tuF7RMSNRIRfD3M2fNWLQLF-ShDgRiBeceKLOFVZc%2Frs%3Afill%3A0%3A0%3A1%2Fw%3A1400%2Fh%3A1400%2Fq%3A60%2Fmb%3A500000%2FaHR0cHM6Ly9pbWct%2FdXBsb2FkLXByb2R1%2FY3Rpb24udHJhbnNp%2Fc3Rvci5mbS9zaG93%2FLzQzNjc3LzE2OTE1%2FODI4NTItYXJ0d29y%2Fay5qcGc.jpg&w=500&h=500) ## Episode metadata - Episode title: 139: High On Fable - Show: Mostly Technical - Owner / Host: Ian Landsman and Aaron Francis - Episode publish date: 2026-07-07 - Episode AI description: They recount rescuing a child and a tense bounce house collapse at a Fourth of July parade. They dig into Solo’s new workspace design and how AI helped scope and build it. They debate whether people still need to read code as AI writes more, and compare tools for admin UIs and agent-driven automation. A viral Twitter moment and comedy picks add lighter moments. - Duration: 01:03:10 - Episode URL: [Open in Snipd](https://share.snipd.com/episode/8fd9a4db-00fd-44c2-a774-978a092f5fca) - Show URL: [Open in Snipd](https://share.snipd.com/show/7ad45fb4-8aa6-49c2-83cc-bc2327d14b03) - Export date: 2026-07-08T01:12:28 ## Snips ### [Saved A Child From A Collapsing Bounce House](https://share.snipd.com/snip/6dbdadb0-685a-4a1b-bd2b-c550df266af2) 🎧 00:21 - 04:57 (04:36) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/f3ae52be-72bd-4231-ac17-66525293e22d" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron Francis rescued a two-year-old from a collapsing bounce house at a Fourth of July event after the generator powering multiple inflatables shut off. - He removed his own two kids first, then pulled an unfamiliar terrified child free and reunited him with his weeping mother nearby. #### 💬 Quote > I reach in and grab this random kid, pull him out. The whole bounce house collapse. He would have been just melted in there somewhere. > — Aaron Francis Aaron Francis recounting the bounce house rescue #### 📚 Transcript **Ian Landsman:** could be a short one. We don't have any topics. Well, **Aaron Francis:** here's a topic. I saved a kid's life. What? That's a huge topic. Why didn't you put that on the outro board? Well, you know, I wanted to get your initial reaction to it. I saved a kid's life. All **Ian Landsman:** right. Okay. Well, hold on. thing. Outro has a spoiler option where you can say it's spoiler and it hides the topic title. But anyway, continue. Outro has everything. **Aaron Francis:** Yes. So I totally redeemed myself from losing that one kid that one time. You remember? I remember. This is a similar bounce house story. You'll remember my five-year houses. Dude, bounce houses? Not great. They're very **Ian Landsman:** dangerous, yes. **Aaron Francis:** So you'll remember at the five-year birthday party, there were bounce houses. That was not involved in the kid going missing. That was the kid's decision. **Ian Landsman:** It was a distraction, though, you know. In **Aaron Francis:** this case i'm at the fourth of july party right for the like the the neighborhood or the town i guess um we're at the we're at the parade and they've got bounce houses going they got a lot of bounce houses going and the bounce houses are all being powered by a generator okay one seemingly one generator to power about eight bounce houses um so here's here's the setup um so my two boys are in the bounce house and i'm being a little bit of a helicopter parent because the two-year is in there and there are a lot of like eight, nine, 10-year And so I'm just making sure he doesn't get crushed. He doesn't get scared. He doesn't get lost, that sort of thing. So I'm kind of like walking around the outside of the bounce house, just making sure this overconfident two-year doesn't get decimated by a 10-year with a popsicle, know? So I hear the generator shut off and I'm like, hmm, that seems bad. And then of course all the fans go off immediately, all the blowers go off immediately. And I see the bounce houses start to sag a little bit. And I'm like, all right, game on. And so I reach over and I grab my son my two-year because I'm watching and I pull him out and then I reach over and grab my five-year because he's right there too and I pull him out yeah and I look back and there's probably he's probably two maybe three there's a kid just deer in the headlights World is literally collapsing around and on top of him. Everything is getting smaller and he's just standing there, eyes wide open, freaking out. Yeah. And so I reach in and grab this random kid, pull him out. The whole bounce house collapse. He would have been just melted in there somewhere. Right. And then I have no idea who this kid is. Never seen this kid in my life. He's been abandoned. He's been abandoned. There's, of course, there's a mom standing nearby that I don't know, but she has kids. So she's trustworthy, right? That's how this works. And so I tell my two boys, I say, stand with this mom right here. Hold hands, stand with this mom and don't move. And the mom's like, hey, boys, you stay here with me. It's fine. And so I'm walking around the park with this kid. I'm just holding this kid. And I'm saying, is this anyone's kid? I look at the kid and I'm like, what's your mom's name? And he says, mommy. I'm like, yeah. That's yeah, that checks out. You could just yell that out. And I said, do you want to get on my shoulders? And he was like, yeah. And so I put the kid on my shoulders. We're just kind of we're staying right by the bounce house. I don't want to like, hopefully she knows he was in there. So I'm just kind of walking in circles around the bounce house. I'm like, does anybody recognize this boy? Nobody comes up. So I'm, I walked back over to the mom that has my two kids and I'm like, are we cool here? Yeah, we're cool. All right. And then I turn around and this mom comes up to me weeping, just crying. And she reaches up and grabs her son. I'm like, oh, you found him. And she's just, oh, thank you so much. Thank you. I lost him. And, you know, I give her a hug. I'm like, it's great. We got him. Everything's fine. But she was terrified that her little two-year was stuck inside of this downed bounce house. Yeah, one of these bounce houses. You call in the cave divers to go find him. So I saved a kid's life. --- ### [Building Solo Workspaces Like Slack](https://share.snipd.com/snip/82bc187a-1c30-4bcd-8266-8cc53792dc77) 🎧 15:30 - 16:48 (01:18) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/995b092a-2549-408e-919a-f92653322c69" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian Landsman describes designing Solo workspaces by modeling Slack's UI and grouping related repositories into a single workspace window. - He moved all Solo repositories into workspaces with a left-hand rail, hiding unrelated projects to keep the visible list above the fold. #### 💬 Quote > I literally just looked at slack and thought that looks pretty good I'm going to copy that. > — Ian Landsman Ian Landsman on UI inspiration for Solo workspaces #### 📚 Transcript **Aaron Francis:** They're fully baked now. They're done. will be releasing it probably tomorrow or the next day. Already can't **Ian Landsman:** live without them. Can't live without them. I love that when you get a feature like that. Oh, I nailed this. This needed to be here. I'm using it myself. It's going great. I love that. **Aaron Francis:** So I've moved all of my repositories into a workspace. Okay. Daniel Thunk of Thunk.dev redirected one feature, one part of the feature that I'm glad he did because I would have gotten this wrong. I originally was thinking workspaces must be in their own discreet window. And he correctly, I think, said, I want the option to put them in a discreet window, but I don't want to be forced to do that. And he was 100% right. Yeah. Because like, I'm finding like I'm really only working on one thing or group of things at once, but they're all like the same. I'm usually never working on Solo and my personal website and any other website all at once. --- ### [Use LLM Interviews To Define Feature Shape](https://share.snipd.com/snip/49864804-1dce-4515-8e18-da1f78630be3) 🎧 18:16 - 21:14 (02:58) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/e28b3397-54b9-45f4-866e-c2a3bab86d63" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian recommends starting big features by interviewing an LLM with many multiple-choice questions to define the data model and edge cases. - He ran ~130–140 one-by-one questions with Codex, created a North Star design doc, then had AMP and Fable review it before implementation. #### 💬 Quote > I explained what I'm trying to do and then I said I want you to ask me questions one by one [...] and tell me what your recommended answer is and we went through I think we went through like 130 or 140 questions. > — Ian Landsman Ian Landsman on using Codex to design workspaces #### 📚 Transcript **Aaron Francis:** from that perspective so uh from from the ui perspective i literally just looked at slack and thought that looks pretty good i'm going to copy that so that part that part was easy now from the from like the actual architecture perspective this goes back to, I think, the thing that you and I talked about after I talked about this with the Thunk Boys, which is I don't write any of the code, but I have a very good mental representation of where all the code is and what's going on. More at the higher level, like the discrete modules and architecture than like the actual functions. I know very little of the actual functions that are going on. So the way that I started, and this is the way that I start every big feature, refactor, whatever, is I just open codex just vanilla codex no no skills no harnesses just codex and i explained what i'm trying to do and then i said i want you to ask me questions one by one um and give me you know give me multiple choice ask them one by one multiple choice um and tell me what your recommended answer is and we went through i think we went through like 130 or 140 questions um just trying to nail down basically trying to nail down like the more or less the data model right because there's some part of it that is well this needs to be represented in the database. Like projects need to be tied to workspaces. And then there are all of these fallout questions of like, where do notifications go? What about keyboard shortcuts? What about the palette? What about switching and popping out windows? How do we keep window groups persisted? Because that's not necessarily a workspace. workspace could you know many workspaces could be in a window and we need to remember that when we relaunch so i walk through the whole thing just answering these questions and this again is like an additional way by which i become more familiar with the shape of the code base is it's asking me these questions and I'm like, on back up. What, like, what, how's it set up currently? What do you mean by this? And so finally, when we get the whole shape of the thing done, I tell it to write a scratch pad in solo with everything that we've captured. And that serves, that serves as our North Star document, which is often what I call it. I don't know if I got LLM psychosis and it says North Star or I told it to say North Star. Who can say? But it's a load-bearing. That one I know has been poisoned into my brain by the LLMs. It's a load-bearing document. So then, you know, this document's probably like a couple thousand words long. --- ### [Keep A Mental Model Not Every Line Of Code](https://share.snipd.com/snip/fae6fa4e-6a2c-40be-b00a-7d56cccef2c9) 🎧 25:23 - 27:29 (02:06) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/83614fda-fcfe-417c-8be5-1528ee5c30b9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian says you don't need to read every line of code, but you must keep your mental model aligned with the system's shape to make correct architectural decisions. - He watches generated code scroll by, asks targeted questions, and collapses duplicate implementations instead of reading every function. #### 💬 Quote > I don't think you need to read all the code personally, but I do think you need to be really careful about letting the shape of the system outgrow your mental model of the system. > — Ian Landsman Ian Landsman on whether you must read generated code #### 📚 Transcript **Aaron Francis:** Let me start with what I do. So like we've discussed, I don't open the editor. For Solo, I've never opened the editor. What would I see if I was in there but a bunch of Rust? No idea what Rust is. Couldn't tell you. So that colors the whole conversation a little bit. But I am still very much like prompt and reprompt instead of, hey, here's the thing I want to run overnight. Now, the work or the workspaces thing, that is one where I, you know, let it rip. And I think part of that is because one, you know, we did 150 questions of interviews. So I feel very confident about where everything is going to slot in but two i think i still in my head know what the architecture of the system is and so i can still speak and that comes from um hands-on prompting and then watching the code scroll by so i don't go in and read it, but I watch it. And I'll say like, wait, don't we do this in this place? Why are you reinventing it? And it's like, oh yeah, we do do that over there. Let me just collapse those two implementations into one. And I think if I were just moving cards on like a Kanban board and saying, just implement this feature, I would have gotten out over my skis so far that I could no longer speak to Codex intelligently about what the shape of the system is. And so I think you have to be really careful. Like, I don't think you need to read all the code personally, but I do think you need to be really careful about letting the shape of the system outgrow your mental model of the system. Because then you're kind of impotent to say like, hey, this should go here because you don't know what's there. So I don't know. I feel like that's probably too long for a tweet, which is why I haven't tweeted anything about it. --- ### [Watch Generated Code And Merge Duplicates](https://share.snipd.com/snip/6b2f3582-dcf8-462c-b154-b180deda2da5) 🎧 26:34 - 27:43 (01:09) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/2e36a471-1179-4140-8200-e14ebf209e08" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Don't let generated code outpace your ability to understand the system; maintain enough familiarity to spot reinventions and consolidate them. - Ian watches code being produced, asks where things already exist, and merges duplicate implementations proactively. #### 💬 Quote > I watch it. And I'll say like, wait, don't we do this in this place? Why are you reinventing it? Let me just collapse those two implementations into one. > — Ian Landsman Ian Landsman on overseeing AI-generated implementations #### 📚 Transcript **Aaron Francis:** And I'll say like, wait, don't we do this in this place? Why are you reinventing it? And it's like, oh yeah, we do do that over there. Let me just collapse those two implementations into one. And I think if I were just moving cards on like a Kanban board and saying, just implement this feature, I would have gotten out over my skis so far that I could no longer speak to Codex intelligently about what the shape of the system is. And so I think you have to be really careful. Like, I don't think you need to read all the code personally, but I do think you need to be really careful about letting the shape of the system outgrow your mental model of the system. Because then you're kind of impotent to say like, hey, this should go here because you don't know what's there. So I don't know. I feel like that's probably too long for a tweet, which is why I haven't tweeted anything about it. But I do feel like there has to be some middle ground between I read every line of the code and I have no idea what the shape of the system is. I think both of **Ian Landsman:** those are **Aaron Francis:** probably mostly incorrect. --- ### [Design Products For A Future With Less Human Coding](https://share.snipd.com/snip/37b3fddc-b7d4-4d33-b0eb-e896c29c17d1) 🎧 31:45 - 32:57 (01:11) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/6984b7e9-b0f8-47db-a8e0-27ae665c143c" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian predicts humans will write less code over time and review a shrinking percentage of generated code, so product decisions should optimize for that trajectory. - He uses a 10-year mental model to avoid shipping product choices that won't make sense as AI coding accelerates. #### 💬 Quote > In 10 years, are humans going to be writing code? And my answer is like, probably not at all. And so if we're on that path 10 years from now, nobody's going to be writing code. > — Ian Landsman Ian Landsman on long-term product strategy with AI coding #### 📚 Transcript **Aaron Francis:** And so like say, all right, well, in 10 years, are humans going to be writing code? And my answer is like, probably not at all. And so if we're on that path 10 years from now, nobody's going to be writing code. Then working backwards, like what does the slope look like? What should we be doing now? Where is this heading? But that's a helpful mental framing for me especially when thinking about like you know um we'll say like product decisions like i don't want to be making product decisions that optimize for a thing that i don't think is going to be true in 10 years right because if it's not true in 10 years it's likely not true in three years because everything is moving so fast. It may not even be true in six months. And so trying to think about from like a product and marketing perspective, what is the obvious end game here? And I think the obvious end game is humans write less and less code and then humans review a smaller and smaller total percentage of code written. I just think that's where it's going to go. --- ### [AI Excels At Cross Referencing Large Codebases](https://share.snipd.com/snip/e0f783ee-6412-458e-a9ef-a8dfc52ceb55) 🎧 35:40 - 36:55 (01:15) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/f050b09d-f473-48a5-bce1-6f0922fd23da" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron and Ian note AI excels at cross-referencing the whole codebase and finding edge cases humans miss, which can reduce regressions. - That pattern-matching speed is especially valuable on large teams or codebases the developer didn't author. #### 💬 Quote > It's way better than you at referencing a spec and it's better than you at doing it quickly [...] it's better at multitasking than you'll ever be by far. > — Ian Landsman Ian Landsman on AI strengths versus human developers #### 📚 Transcript **Ian Landsman:** And then like even just seeming stuff with that though, like it's so good at like, oh yeah, like I got to validate certain things. I got to catch these edge cases, like in a way that I think human aren't generally that good at, um, like more edgy edge case type things that it tends to find. So I don't know. **Aaron Francis:** I also think there's an angle where this becomes more valuable when you're working on a bigger team. Because like when I'm working on solo as a solo, I have the whole system in my head. And so all of those, many of those edge cases that you're talking about, I wrote every subsystem in this machinery. And so I can be like, well, if I touch this piece, that's going to affect this piece. Or we already do that over here. Let's combine this down. Whereas if I were on a 50 100 person team i didn't write every subsystem right and so i can go in and ask this pattern matching god to be like hey can you go see if this is like this is affected or we do something similar anywhere else and it can rip through that in two minutes versus me taking a day to explore what the potential ramifications are. --- ### [Fable Built An Admin Panel Without Filament](https://share.snipd.com/snip/ae648fc6-e8d1-4336-9964-88fe9df12493) 🎧 51:50 - 53:11 (01:21) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/c421b83e-6731-4303-ba16-7119b02d3e49" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian had Fable build an admin panel for Outro without pulling in Filament, relying on Fable and his Laravel/Livewire foundation instead. - The admin is view-only initially for users, with lists for users and shows and a planned feedback system ahead of launch. #### 💬 Quote > Fable made me an out admin. I just Fable. If it wasn't, if I had Fable, I might do that. But I got Fable. I'm like, Fable can do this. > — Ian Landsman Ian Landsman on using Fable to generate an admin UI #### 📚 Transcript **Ian Landsman:** But I think given how well it did it was fable but um basically we hit a point where we need an admin panel which i have not up to this point had like an administrative area **Aaron Francis:** yeah so it's always fun i love an admin panel yeah i **Ian Landsman:** knew you would appreciate that i love it so what'd you go with so no so we're not in that world anymore so i just **Aaron Francis:** fable made me an out admin. **Ian Landsman:** You **Aaron Francis:** didn't pick up Filament? You're already Laravel Livewire. You didn't pick up Filament? No, no. **Ian Landsman:** Wow. Minimum dependencies. I just, just Fable. If it wasn't, if I had Fable, I might do that. But I got Fable. I'm like, Fable can do this. Just go back there, build me a basic admin panel. I wanted to build like a little feedback system in anticipation of July 8th or shortly thereafter. So I can have a way for people to start giving me feedback. Yeah. So was like, well, I need the structure for this. So like build the admin panel. Give me like counts and whatever. Do some basic like stuff. What's going on. Then I had to add like, let me have a list of users, a list of shows, let me search the stuff, let me interact with things. We didn't get to, like, any actual editing of stuff yet. I don't even know what I want to edit yet, so I figured whatever, I'll worry about that. Yeah, it doesn't matter. Or I can make it edited all, I guess, but for now, it's like, no editing, just make it view only, and, like, it's **Aaron Francis:** all there, and we can add editing. --- ### [Give Agents A Private API With Discovery](https://share.snipd.com/snip/62b71bfa-60c6-4b74-9298-725500ec39e9) 🎧 56:36 - 57:44 (01:08) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/a1d3d90b-c01a-44bd-8d56-a1c9eb848824" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Expose a private, documented API for local agents so automation can pull release notes, feedback, and perform tasks using tokens. - Ian catalogs his solo API with a discovery endpoint and gives agents tokens to fetch docs, mark feedback closed, and send emails via Bento. #### 💬 Quote > I added an endpoint where the agent can control that via API. So I just say, add this person to the beta group, paste the email address, and it figures out how to do the rest. > — Ian Landsman Ian Landsman on using private API for agent automation #### 📚 Transcript **Aaron Francis:** So I can do, I can also do like, Hey, pull this feedback because the desktop app posts feedback into the web app. Like if you have an issue or something, you can open feedback there. Um, I can pull all the feedback down via API. I can mark it as closed or I can leave a comment on it via API. And then when I'm done, I can send an email through Bento, bentonow.com. I can send an email through Bento to the person that opened the feedback and say, hey, this feedback was addressed. It should be out in this version all via API. the agent locally the agent locally can do all of this stuff with no special like it's just it's just an api that is only accessible to me like it's not even accessible to anyone for any reason ever but it's awesome **Ian Landsman:** so do you have user interface for those things or no, it's only API? **Aaron Francis:** I could in filament go into the text box that contains the markdown for the release notes, for example. And I could put in the markdown style links in there if I wanted. --- Created with [Snipd](https://www.snipd.com) | Highlight & Take Notes from Podcasts # Snips updated after 2026-04-05T10:16:17 ### [Saved A Child From A Collapsing Bounce House](https://share.snipd.com/snip/6dbdadb0-685a-4a1b-bd2b-c550df266af2) 🎧 00:21 - 04:57 (04:36) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/f3ae52be-72bd-4231-ac17-66525293e22d" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron Francis rescued a two-year-old from a collapsing bounce house at a Fourth of July event after the generator powering multiple inflatables shut off. - He removed his own two kids first, then pulled an unfamiliar terrified child free and reunited him with his weeping mother nearby. #### 💬 Quote > I reach in and grab this random kid, pull him out. The whole bounce house collapse. He would have been just melted in there somewhere. > — Aaron Francis Aaron Francis recounting the bounce house rescue #### 📚 Transcript **Ian Landsman:** could be a short one. We don't have any topics. Well, **Aaron Francis:** here's a topic. I saved a kid's life. What? That's a huge topic. Why didn't you put that on the outro board? Well, you know, I wanted to get your initial reaction to it. I saved a kid's life. All **Ian Landsman:** right. Okay. Well, hold on. thing. Outro has a spoiler option where you can say it's spoiler and it hides the topic title. But anyway, continue. Outro has everything. **Aaron Francis:** Yes. So I totally redeemed myself from losing that one kid that one time. You remember? I remember. This is a similar bounce house story. You'll remember my five-year houses. Dude, bounce houses? Not great. They're very **Ian Landsman:** dangerous, yes. **Aaron Francis:** So you'll remember at the five-year birthday party, there were bounce houses. That was not involved in the kid going missing. That was the kid's decision. **Ian Landsman:** It was a distraction, though, you know. In **Aaron Francis:** this case i'm at the fourth of july party right for the like the the neighborhood or the town i guess um we're at the we're at the parade and they've got bounce houses going they got a lot of bounce houses going and the bounce houses are all being powered by a generator okay one seemingly one generator to power about eight bounce houses um so here's here's the setup um so my two boys are in the bounce house and i'm being a little bit of a helicopter parent because the two-year is in there and there are a lot of like eight, nine, 10-year And so I'm just making sure he doesn't get crushed. He doesn't get scared. He doesn't get lost, that sort of thing. So I'm kind of like walking around the outside of the bounce house, just making sure this overconfident two-year doesn't get decimated by a 10-year with a popsicle, know? So I hear the generator shut off and I'm like, hmm, that seems bad. And then of course all the fans go off immediately, all the blowers go off immediately. And I see the bounce houses start to sag a little bit. And I'm like, all right, game on. And so I reach over and I grab my son my two-year because I'm watching and I pull him out and then I reach over and grab my five-year because he's right there too and I pull him out yeah and I look back and there's probably he's probably two maybe three there's a kid just deer in the headlights World is literally collapsing around and on top of him. Everything is getting smaller and he's just standing there, eyes wide open, freaking out. Yeah. And so I reach in and grab this random kid, pull him out. The whole bounce house collapse. He would have been just melted in there somewhere. Right. And then I have no idea who this kid is. Never seen this kid in my life. He's been abandoned. He's been abandoned. There's, of course, there's a mom standing nearby that I don't know, but she has kids. So she's trustworthy, right? That's how this works. And so I tell my two boys, I say, stand with this mom right here. Hold hands, stand with this mom and don't move. And the mom's like, hey, boys, you stay here with me. It's fine. And so I'm walking around the park with this kid. I'm just holding this kid. And I'm saying, is this anyone's kid? I look at the kid and I'm like, what's your mom's name? And he says, mommy. I'm like, yeah. That's yeah, that checks out. You could just yell that out. And I said, do you want to get on my shoulders? And he was like, yeah. And so I put the kid on my shoulders. We're just kind of we're staying right by the bounce house. I don't want to like, hopefully she knows he was in there. So I'm just kind of walking in circles around the bounce house. I'm like, does anybody recognize this boy? Nobody comes up. So I'm, I walked back over to the mom that has my two kids and I'm like, are we cool here? Yeah, we're cool. All right. And then I turn around and this mom comes up to me weeping, just crying. And she reaches up and grabs her son. I'm like, oh, you found him. And she's just, oh, thank you so much. Thank you. I lost him. And, you know, I give her a hug. I'm like, it's great. We got him. Everything's fine. But she was terrified that her little two-year was stuck inside of this downed bounce house. Yeah, one of these bounce houses. You call in the cave divers to go find him. So I saved a kid's life. --- ### [Building Solo Workspaces Like Slack](https://share.snipd.com/snip/82bc187a-1c30-4bcd-8266-8cc53792dc77) 🎧 15:30 - 16:48 (01:18) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/995b092a-2549-408e-919a-f92653322c69" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian Landsman describes designing Solo workspaces by modeling Slack's UI and grouping related repositories into a single workspace window. - He moved all Solo repositories into workspaces with a left-hand rail, hiding unrelated projects to keep the visible list above the fold. #### 💬 Quote > I literally just looked at slack and thought that looks pretty good I'm going to copy that. > — Ian Landsman Ian Landsman on UI inspiration for Solo workspaces #### 📚 Transcript **Aaron Francis:** They're fully baked now. They're done. will be releasing it probably tomorrow or the next day. Already can't **Ian Landsman:** live without them. Can't live without them. I love that when you get a feature like that. Oh, I nailed this. This needed to be here. I'm using it myself. It's going great. I love that. **Aaron Francis:** So I've moved all of my repositories into a workspace. Okay. Daniel Thunk of Thunk.dev redirected one feature, one part of the feature that I'm glad he did because I would have gotten this wrong. I originally was thinking workspaces must be in their own discreet window. And he correctly, I think, said, I want the option to put them in a discreet window, but I don't want to be forced to do that. And he was 100% right. Yeah. Because like, I'm finding like I'm really only working on one thing or group of things at once, but they're all like the same. I'm usually never working on Solo and my personal website and any other website all at once. --- ### [Use LLM Interviews To Define Feature Shape](https://share.snipd.com/snip/49864804-1dce-4515-8e18-da1f78630be3) 🎧 18:16 - 21:14 (02:58) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/e28b3397-54b9-45f4-866e-c2a3bab86d63" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian recommends starting big features by interviewing an LLM with many multiple-choice questions to define the data model and edge cases. - He ran ~130–140 one-by-one questions with Codex, created a North Star design doc, then had AMP and Fable review it before implementation. #### 💬 Quote > I explained what I'm trying to do and then I said I want you to ask me questions one by one [...] and tell me what your recommended answer is and we went through I think we went through like 130 or 140 questions. > — Ian Landsman Ian Landsman on using Codex to design workspaces #### 📚 Transcript **Aaron Francis:** from that perspective so uh from from the ui perspective i literally just looked at slack and thought that looks pretty good i'm going to copy that so that part that part was easy now from the from like the actual architecture perspective this goes back to, I think, the thing that you and I talked about after I talked about this with the Thunk Boys, which is I don't write any of the code, but I have a very good mental representation of where all the code is and what's going on. More at the higher level, like the discrete modules and architecture than like the actual functions. I know very little of the actual functions that are going on. So the way that I started, and this is the way that I start every big feature, refactor, whatever, is I just open codex just vanilla codex no no skills no harnesses just codex and i explained what i'm trying to do and then i said i want you to ask me questions one by one um and give me you know give me multiple choice ask them one by one multiple choice um and tell me what your recommended answer is and we went through i think we went through like 130 or 140 questions um just trying to nail down basically trying to nail down like the more or less the data model right because there's some part of it that is well this needs to be represented in the database. Like projects need to be tied to workspaces. And then there are all of these fallout questions of like, where do notifications go? What about keyboard shortcuts? What about the palette? What about switching and popping out windows? How do we keep window groups persisted? Because that's not necessarily a workspace. workspace could you know many workspaces could be in a window and we need to remember that when we relaunch so i walk through the whole thing just answering these questions and this again is like an additional way by which i become more familiar with the shape of the code base is it's asking me these questions and I'm like, on back up. What, like, what, how's it set up currently? What do you mean by this? And so finally, when we get the whole shape of the thing done, I tell it to write a scratch pad in solo with everything that we've captured. And that serves, that serves as our North Star document, which is often what I call it. I don't know if I got LLM psychosis and it says North Star or I told it to say North Star. Who can say? But it's a load-bearing. That one I know has been poisoned into my brain by the LLMs. It's a load-bearing document. So then, you know, this document's probably like a couple thousand words long. --- ### [Keep A Mental Model Not Every Line Of Code](https://share.snipd.com/snip/fae6fa4e-6a2c-40be-b00a-7d56cccef2c9) 🎧 25:23 - 27:29 (02:06) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/83614fda-fcfe-417c-8be5-1528ee5c30b9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian says you don't need to read every line of code, but you must keep your mental model aligned with the system's shape to make correct architectural decisions. - He watches generated code scroll by, asks targeted questions, and collapses duplicate implementations instead of reading every function. #### 💬 Quote > I don't think you need to read all the code personally, but I do think you need to be really careful about letting the shape of the system outgrow your mental model of the system. > — Ian Landsman Ian Landsman on whether you must read generated code #### 📚 Transcript **Aaron Francis:** Let me start with what I do. So like we've discussed, I don't open the editor. For Solo, I've never opened the editor. What would I see if I was in there but a bunch of Rust? No idea what Rust is. Couldn't tell you. So that colors the whole conversation a little bit. But I am still very much like prompt and reprompt instead of, hey, here's the thing I want to run overnight. Now, the work or the workspaces thing, that is one where I, you know, let it rip. And I think part of that is because one, you know, we did 150 questions of interviews. So I feel very confident about where everything is going to slot in but two i think i still in my head know what the architecture of the system is and so i can still speak and that comes from um hands-on prompting and then watching the code scroll by so i don't go in and read it, but I watch it. And I'll say like, wait, don't we do this in this place? Why are you reinventing it? And it's like, oh yeah, we do do that over there. Let me just collapse those two implementations into one. And I think if I were just moving cards on like a Kanban board and saying, just implement this feature, I would have gotten out over my skis so far that I could no longer speak to Codex intelligently about what the shape of the system is. And so I think you have to be really careful. Like, I don't think you need to read all the code personally, but I do think you need to be really careful about letting the shape of the system outgrow your mental model of the system. Because then you're kind of impotent to say like, hey, this should go here because you don't know what's there. So I don't know. I feel like that's probably too long for a tweet, which is why I haven't tweeted anything about it. --- ### [Watch Generated Code And Merge Duplicates](https://share.snipd.com/snip/6b2f3582-dcf8-462c-b154-b180deda2da5) 🎧 26:34 - 27:43 (01:09) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/2e36a471-1179-4140-8200-e14ebf209e08" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Don't let generated code outpace your ability to understand the system; maintain enough familiarity to spot reinventions and consolidate them. - Ian watches code being produced, asks where things already exist, and merges duplicate implementations proactively. #### 💬 Quote > I watch it. And I'll say like, wait, don't we do this in this place? Why are you reinventing it? Let me just collapse those two implementations into one. > — Ian Landsman Ian Landsman on overseeing AI-generated implementations #### 📚 Transcript **Aaron Francis:** And I'll say like, wait, don't we do this in this place? Why are you reinventing it? And it's like, oh yeah, we do do that over there. Let me just collapse those two implementations into one. And I think if I were just moving cards on like a Kanban board and saying, just implement this feature, I would have gotten out over my skis so far that I could no longer speak to Codex intelligently about what the shape of the system is. And so I think you have to be really careful. Like, I don't think you need to read all the code personally, but I do think you need to be really careful about letting the shape of the system outgrow your mental model of the system. Because then you're kind of impotent to say like, hey, this should go here because you don't know what's there. So I don't know. I feel like that's probably too long for a tweet, which is why I haven't tweeted anything about it. But I do feel like there has to be some middle ground between I read every line of the code and I have no idea what the shape of the system is. I think both of **Ian Landsman:** those are **Aaron Francis:** probably mostly incorrect. --- ### [Design Products For A Future With Less Human Coding](https://share.snipd.com/snip/37b3fddc-b7d4-4d33-b0eb-e896c29c17d1) 🎧 31:45 - 32:57 (01:11) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/6984b7e9-b0f8-47db-a8e0-27ae665c143c" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian predicts humans will write less code over time and review a shrinking percentage of generated code, so product decisions should optimize for that trajectory. - He uses a 10-year mental model to avoid shipping product choices that won't make sense as AI coding accelerates. #### 💬 Quote > In 10 years, are humans going to be writing code? And my answer is like, probably not at all. And so if we're on that path 10 years from now, nobody's going to be writing code. > — Ian Landsman Ian Landsman on long-term product strategy with AI coding #### 📚 Transcript **Aaron Francis:** And so like say, all right, well, in 10 years, are humans going to be writing code? And my answer is like, probably not at all. And so if we're on that path 10 years from now, nobody's going to be writing code. Then working backwards, like what does the slope look like? What should we be doing now? Where is this heading? But that's a helpful mental framing for me especially when thinking about like you know um we'll say like product decisions like i don't want to be making product decisions that optimize for a thing that i don't think is going to be true in 10 years right because if it's not true in 10 years it's likely not true in three years because everything is moving so fast. It may not even be true in six months. And so trying to think about from like a product and marketing perspective, what is the obvious end game here? And I think the obvious end game is humans write less and less code and then humans review a smaller and smaller total percentage of code written. I just think that's where it's going to go. --- ### [AI Excels At Cross Referencing Large Codebases](https://share.snipd.com/snip/e0f783ee-6412-458e-a9ef-a8dfc52ceb55) 🎧 35:40 - 36:55 (01:15) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/f050b09d-f473-48a5-bce1-6f0922fd23da" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron and Ian note AI excels at cross-referencing the whole codebase and finding edge cases humans miss, which can reduce regressions. - That pattern-matching speed is especially valuable on large teams or codebases the developer didn't author. #### 💬 Quote > It's way better than you at referencing a spec and it's better than you at doing it quickly [...] it's better at multitasking than you'll ever be by far. > — Ian Landsman Ian Landsman on AI strengths versus human developers #### 📚 Transcript **Ian Landsman:** And then like even just seeming stuff with that though, like it's so good at like, oh yeah, like I got to validate certain things. I got to catch these edge cases, like in a way that I think human aren't generally that good at, um, like more edgy edge case type things that it tends to find. So I don't know. **Aaron Francis:** I also think there's an angle where this becomes more valuable when you're working on a bigger team. Because like when I'm working on solo as a solo, I have the whole system in my head. And so all of those, many of those edge cases that you're talking about, I wrote every subsystem in this machinery. And so I can be like, well, if I touch this piece, that's going to affect this piece. Or we already do that over here. Let's combine this down. Whereas if I were on a 50 100 person team i didn't write every subsystem right and so i can go in and ask this pattern matching god to be like hey can you go see if this is like this is affected or we do something similar anywhere else and it can rip through that in two minutes versus me taking a day to explore what the potential ramifications are. --- ### [Fable Built An Admin Panel Without Filament](https://share.snipd.com/snip/ae648fc6-e8d1-4336-9964-88fe9df12493) 🎧 51:50 - 53:11 (01:21) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/c421b83e-6731-4303-ba16-7119b02d3e49" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian had Fable build an admin panel for Outro without pulling in Filament, relying on Fable and his Laravel/Livewire foundation instead. - The admin is view-only initially for users, with lists for users and shows and a planned feedback system ahead of launch. #### 💬 Quote > Fable made me an out admin. I just Fable. If it wasn't, if I had Fable, I might do that. But I got Fable. I'm like, Fable can do this. > — Ian Landsman Ian Landsman on using Fable to generate an admin UI #### 📚 Transcript **Ian Landsman:** But I think given how well it did it was fable but um basically we hit a point where we need an admin panel which i have not up to this point had like an administrative area **Aaron Francis:** yeah so it's always fun i love an admin panel yeah i **Ian Landsman:** knew you would appreciate that i love it so what'd you go with so no so we're not in that world anymore so i just **Aaron Francis:** fable made me an out admin. **Ian Landsman:** You **Aaron Francis:** didn't pick up Filament? You're already Laravel Livewire. You didn't pick up Filament? No, no. **Ian Landsman:** Wow. Minimum dependencies. I just, just Fable. If it wasn't, if I had Fable, I might do that. But I got Fable. I'm like, Fable can do this. Just go back there, build me a basic admin panel. I wanted to build like a little feedback system in anticipation of July 8th or shortly thereafter. So I can have a way for people to start giving me feedback. Yeah. So was like, well, I need the structure for this. So like build the admin panel. Give me like counts and whatever. Do some basic like stuff. What's going on. Then I had to add like, let me have a list of users, a list of shows, let me search the stuff, let me interact with things. We didn't get to, like, any actual editing of stuff yet. I don't even know what I want to edit yet, so I figured whatever, I'll worry about that. Yeah, it doesn't matter. Or I can make it edited all, I guess, but for now, it's like, no editing, just make it view only, and, like, it's **Aaron Francis:** all there, and we can add editing. --- ### [Give Agents A Private API With Discovery](https://share.snipd.com/snip/62b71bfa-60c6-4b74-9298-725500ec39e9) 🎧 56:36 - 57:44 (01:08) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/a1d3d90b-c01a-44bd-8d56-a1c9eb848824" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Expose a private, documented API for local agents so automation can pull release notes, feedback, and perform tasks using tokens. - Ian catalogs his solo API with a discovery endpoint and gives agents tokens to fetch docs, mark feedback closed, and send emails via Bento. #### 💬 Quote > I added an endpoint where the agent can control that via API. So I just say, add this person to the beta group, paste the email address, and it figures out how to do the rest. > — Ian Landsman Ian Landsman on using private API for agent automation #### 📚 Transcript **Aaron Francis:** So I can do, I can also do like, Hey, pull this feedback because the desktop app posts feedback into the web app. Like if you have an issue or something, you can open feedback there. Um, I can pull all the feedback down via API. I can mark it as closed or I can leave a comment on it via API. And then when I'm done, I can send an email through Bento, bentonow.com. I can send an email through Bento to the person that opened the feedback and say, hey, this feedback was addressed. It should be out in this version all via API. the agent locally the agent locally can do all of this stuff with no special like it's just it's just an api that is only accessible to me like it's not even accessible to anyone for any reason ever but it's awesome **Ian Landsman:** so do you have user interface for those things or no, it's only API? **Aaron Francis:** I could in filament go into the text box that contains the markdown for the release notes, for example. And I could put in the markdown style links in there if I wanted. ---