Nicholas

How to build your own AI developer tools with Claude Code | CJ Hess (Tenex)

Nicholas

CJ Hess is a software engineer at Tenex who has built some of the most useful tools and workflows for being a “real AI engineer.” In this episode, CJ demonstrates his custom-built tool, Flowy, that transforms Claude’s ASCII diagrams into interactive visual mockups and flowcharts. He also shares his process for using model-to-model comparison to ensure that his AI-generated code is high-quality, and why he believes we’re just at the beginning of a revolution in how developers interact with AI. What you’ll learn: - How CJ built Flowy, a custom visual planning tool that converts JSON files into interactive mockups and flowcharts - Why visual planning tools are more effective than ASCII diagrams for complex UI and animation workflows - How to create and use Claude Code skills to extend your development environment - Using model-to-model comparison (Claude + Codex) to improve code quality - How to build your own ecosystem of tools around Claude Code - The value of bypassing permissions in controlled environments to speed up development — Brought to you by: Orkes—The enterprise platform for reliable applications and agentic workflows Rovo—AI that knows your business — Detailed workflow walkthroughs from this episode: • How I AI: CJ Hess on Building Custom Dev Tools and Model-vs-Model Code Reviews: https://www.chatprd.ai/how-i-ai/cj-hess-tenex-custom-dev-tools-and-model-vs-model-code-reviews • Implement Model-vs-Model AI Code Reviews for Quality Control: https://www.chatprd.ai/how-i-ai/workflows/implement-model-vs-model-ai-code-reviews-for-quality-control • Develop Features with AI Using Custom Visual Planning Tools: https://www.chatprd.ai/how-i-ai/workflows/develop-features-with-ai-using-custom-visual-planning-toolsIn this episode, we cover: (00:00) Introduction to CJ Hess (02:48) Why CJ prefers Claude Code for development (04:46) The evolution of developer environments with AI (06:50) Planning workflows and the limitations of ASCII diagrams (08:23) Introduction to Flowy, CJ’s custom visualization tool (11:54) How Flowy compares to mermaid diagrams (15:25) Demo: Using Flowy (19:30) Examining Flowy’s skill structure (23:27) Reviewing the generated flowcharts and diagrams (28:34) The cognitive benefits of visual planning vs. text-based planning (31:38) Generating UI mockups with Flowy (33:30) Building the feature directly from flowcharts and mockups (35:40) Quick recap (36:51) Using model-to-model review with Codex (Carl) (41:52) The benefits of using AI for code review (45:13) Lightning round and final thoughts — Tools referenced: • Claude Code: https://claude.ai/code • Claude Opus 4.5: https://www.anthropic.com/news/claude-opus-4-5 • Cursor: https://cursor.sh/ • Obsidian: https://obsidian.md/ • GPT-5.2 Codex: https://openai.com/index/introducing-gpt-5-2-codex/ • Google’s Project Genie: https://labs.google/projectgenieOther references: • Mermaid diagrams: https://mermaid.js.org/ • Figma: https://www.figma.com/ • Excalidraw: https://excalidraw.com/ • TypeScript: https://www.typescriptlang.org/Where to find CJ Hess: LinkedIn: https://www.linkedin.com/in/cj-hess-connexwork/ X: https://x.com/seejayhessWhere to find Claire Vo: ChatPRD: https://www.chatprd.ai/ Website: https://clairevo.com/ LinkedIn: https://www.linkedin.com/in/clairevo/ X: https://x.com/clairevo — Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [redacted email].

Published
Published Feb 9, 2026
Uploaded
Uploaded Jun 12, 2026
File type
Podcast
Queried
0

Full transcript

Showing the full transcript for this episode.

AI-generated transcript with timestamped sections.

0:00-1:45

[00:00] Working with Claude is just such a delight. It just feels so steerable. And I think the one thing it really has is intent understanding. When I wanted to dig deep, it just does it. And it's really enabled me to build a little ecosystem of my own tools around it. I think environment setup and developer setup is such an underappreciated use case. One of the things that I know you really care about is effective planning. And you've come up with a way that you do your planning that I think is pretty unique. So I've played around with this tool [00:30] I've clawed these JSON files, and there's a whole set of skills I've built around this that Claude code can use to write these out. And then these actually end up generating nice looking UI mockups. I will say this is a dev tool that was almost 100% prompted. [00:50] Welcome back to How I AI. I'm Claire Vaux, product leader and AI obsessive here on a mission to help you build better with these new tools. [00:57] today i have cj hess at 10x and if you've seen him on x [01:02] He is building some of the most useful tools and flows for being a quote unquote, real AI engineer. We're going to get a sneak peek in his tool Flowey that he vibe coded for himself. And he's going to show us how he uses [01:15] model to model comparison to make sure his code is great. Let's get to it. [01:19] This episode is brought to you by Orcus, the company behind Open Source Conductor, the platform powering complex workflows and process orchestration for modern enterprise apps and agentic workflows. Legacy business process automation tools are breaking down. Siloed low-code platforms, outdated process management systems, and disconnected API management tools weren't built for today's event-driven, AI-powered, cloud-native world.

1:49-3:21

[01:49] you get a modern orchestration layer that scales with high reliability, supports both visual and code first development, and brings human, AI, and systems together in real time. It's not just about tasks. It's about orchestrating everything. APIs, microservices, data pipelines, human in the loop actions, and even autonomous agents. So build, test, and debug complex workflows with ease. [02:19] agentic workflows at enterprise scale, all while maintaining enterprise-grade security, compliance, and observability. Whether you're modernizing legacy systems or scaling next-gen AI-driven apps, [02:32] Orcus helps you go from idea to production fast. Orcus. Orchestrate the future of work. [02:48] CJ, welcome to How I AI. CJ KLEIN: Thanks, Claire. It's good to be here. [02:52] So I've seen a lot of Claude and AI engineering power users, and I still think you're like a super power user of some of these tools. And it's not just because you're creating real production code with what you're building, which is really nice to see. And I think a subset of what we're seeing out of folks using these tools. You also build tools for yourself to make the process of AI engineering better. And you share those tools with other people who then validate that they're actually helpful.

3:22-4:53

[03:22] you so excited about, in particular, [03:26] Claude Code and what has it changed for you as as we were talking before the show a quote unquote real software engineer? [03:32] Like a lot of people, the Opus 4.5 moment was a big one. [03:37] But I've been on Cloud Code. [03:39] I don't know, maybe last May? [03:41] But for me, it was really about [03:44] the harness they have and like [03:46] I see a lot of arguments about codecs and cloud code, and I'd honestly argue GPT 5.2 [03:52] is a smarter model. [03:54] But like working with Claude is just such a delight, like in Claude code. [04:00] it just feels so like steerable. And I think the one thing it really has is like, [04:05] intent understanding, [04:07] Maybe I'm not giving Opus and Cursor the shot it deserves here, but there's something about in Cloud Code. [04:15] When I wanted to dig deep, it just does it. It feels to pick up on my intuition just in the prompts. [04:21] Um, [04:22] And it's really enabled me to [04:24] almost like build a little ecosystem of my own tools around it, around Cloud Code, kind of particularly [04:30] with skills now. Um, [04:33] that just like... [04:34] keep making it [04:36] better and better for me because it's clod code plus like this system of skills and tools that [04:42] I've built around it. So it's really hard for me to get out of it. Yeah, what I love about this moment as a software engineer is, you know, back in the olden days,

4:53-6:39

[04:53] You sort of had like your choice of like, what's going to be my IDE and am I going to use Vim and like what, you know, what are my set of approved tools as an engineer that I can use to make, you know, what linters are we using as a team? All this kind of stuff. Like there's stuff that you could do to customize your developer environment. [05:10] But now you can really take it to the next level and you could have a totally different AI engineering workflow. [05:17] than your colleagues sitting next to you. And it's totally fine because it's making you individually a lot more efficient and effective. And you're building them yourselves for pretty cheap. So there's not that cost or that hurdle of evaluating new things in your stack. [05:29] Yeah, there's even like... [05:31] It's almost like... [05:32] One, you now have... [05:34] the brains of Claude to almost like do some dirty work on the dev tooling like [05:39] I think... [05:40] you know, pre... [05:42] any of the newer gen models that just really can handle the agentic loop. [05:47] And... [05:48] you know, sitting with like a broken linter. [05:52] And just accepting it and having like ignore comments everywhere so that, you know, I just I just would give up. [05:58] And now it's like I feel like I can almost trust it to be like, [06:01] what's wrong with this config? My IDE isn't matching what's in the project. Okay, we have to resolve this and just [06:08] kind of solving those like chore problems. [06:10] that I feel like previously just [06:13] ended up being forever problems. Yeah. And for the non-engineers watching or listening right now, I think environment setup and developer setup is such an underappreciated use case. Yesterday, I onboarded a designer who had literally has kind of like sat out some of this AI stuff. It's literally not downloaded anything, used anything. And she's on cursor, clod code, nodes running, homebrews installed. And I was like, just ask.

6:39-8:10

[06:39] Claude code to do it. Say like, help me understand this repo and get my computer set up to run. [06:44] And it just and I said, and then just tell it it can accept all tools and let it go and come back to your laptop later. And it's pretty great. I mean, we're really, really spoiled right now. So let's dive into some of your actual workflows. And one of the things that I know you really care about is effective tools. [07:01] planning and you've come up with a way that you do your planning that I think is pretty unique. [07:06] Yeah, so... [07:08] There's kind of the classic plan, so I'm going to swap over to cursor here. [07:12] I have in this just like, [07:14] your classic dot plans folder, just throwing plans in here. [07:18] and [07:21] I really love this format. I think a lot of people are kind of converging on this of like iterating on Markdown, having one file where you're just like working through the plan, reviewing the plan. And by the end of that, you can almost feel confident just letting it write the code. [07:34] But the one piece that I hated, that I found really valuable, [07:39] was these ASCII flowcharts. [07:42] So if you're just listening, it's all those, like, boxes and arrows that Claude draws and... [07:48] You know, there's always the ones where [07:50] This one actually looks pretty clean. Yeah, there's always this like misalignment of that edge character. I don't know why we haven't figured that out yet. [07:58] But for things like UI mockups, things like flow charts of [08:03] how navigation's going to work, how a certain system is going to work. I really like this visual way to think about things.

8:10-9:44

[08:10] But I really hate staring at these [08:13] ASCII [08:14] like diagrams. [08:16] Even things kind of like Mermaid and everything just didn't feel [08:20] Exactly. [08:21] what I was going for. [08:23] So I've played around with this tool to basically give [08:27] Clawed? [08:29] these JSON files, and there's a whole set of skills I've built around this that CloudCode can use. [08:36] to write these out. [08:37] And then these actually end up generating [08:40] Nice looking UI mockups, not in super high fidelity or detail, but I can kind of guide it the direction I need. [08:48] and up here [08:50] This white text might be a little hard to see, but basically this is a flowchart on this tool, flowy, and how it works. [08:58] So for the listeners, what I love about this is Flowey is a tool that you built. You're saying like, oh, I was playing with this tool. It's like, no, you built this tool for yourself. Yeah. [09:09] This was my first experiment with a Ralph loop. [09:13] I'm still not certain how confident I am in them, because I had to do a little bit of cleanup, but overall I will say this is [09:21] kind of a dev tool that was [09:23] almost 100% prompted. [09:25] Yeah. And so what you said is, you know, I love plans. I love the idea. And I just have to take a minute again. I'm the oldest lady on the Internet. So. [09:35] Way back in the day, two decades ago, when I was first doing product management and web design, we did so many flowcharts, so many user journey charts.

9:44-11:17

[09:44] and then so many wire frames [09:47] and so many like low fidelity mocks than high fidelity mocks. And what I love about what you're building is you're building the AI native version [09:55] of that. That piece has not gone away for anybody. It hasn't gone away that you said, like, [09:59] when you click this, it goes to this and these are the steps and these are the branches and all that. And it hasn't gone away that you have to look at designs and say, yeah, this is kind of what I want. [10:08] but now you can have AI create them. And at first you had AI create them in Markdown, [10:14] Very, very low fidelity. And I have to take a side journey that... [10:18] You know, a year ago, I was like extremely delighted that it was making ASCII markups. And now it's just not good enough. Yeah, shifting expectations on these models. [10:28] Yeah, exactly. And so you've taken these Markdown Markups that were useful and you said now make them really useful. [10:34] by building this sub application that can run them for you. And it's a combination of it seems like workflow diagrams [10:41] And step-by-step, [10:43] mock-ups. [10:44] Yeah, so there's kind of... [10:46] basically what I wanted was [10:49] JSON file it can render [10:51] and it can have nodes and edges like any flowchart. [10:54] And then... [10:56] roughly be able to stack them, change the colors and get us [11:00] you know, something that looks like this where we have a couple different screens. [11:04] And we have these [11:06] somewhere between a wireframe and a true mockup that [11:10] Jess can help me point the model in the right direction. The other big thing for me was iterating on this.

11:18-12:49

[11:18] I'm not going to go in that markdown file and try to like write new shapes and combine them. [11:23] Um... [11:24] So for this, this is also an editor. [11:29] and as you edit it, all these changes save to that JSON file, [11:33] So you can then point Claude back at it and say, hey, I know you did this. [11:37] but actually let's say I want to step here, [11:40] and I'm going to bring this up and add some edges. And then you can be designing in here, almost like you're in Figma or Excalibur or something. [11:49] and then Cloud can just read the file, [11:51] And that's like a more native way for it to understand what everything looks like. And you mentioned mermaid diagrams. And so I have this question, which is one of the benefits of mermaid diagrams is that's a syntax that these LLMs know well and can parse and actually reason about. [12:06] Do you feel like have you created a skill where Cloud Code can understand and read this JSON? Like, how did you train it to read your kind of proprietary dev tool and documentation? [12:17] Yeah, so... [12:19] Right now there's [12:20] Two main skills I use. There's a third one that's just an overview, basically, kind of the... [12:26] high level view of what the commands are, what a flowy file would look like. [12:31] And then I have one that's very specific about [12:33] flowcharts and one that's about UI mockups. [12:37] And to make these, I basically sat with... [12:41] set in the repo of the tool itself. [12:44] had a bunch of like explore sub agents going and then started to make

12:49-14:22

[12:49] the first UI mockups and the flowcharts and started to guide it on [12:53] "Okay, you put these too close, we need a rule about spacing and how to think about spacing." [12:59] And just incrementally, I've been building that up where... [13:02] if I'm working with this and something goes wrong, [13:05] Almost an example here would be this white text on these pastel notes, kind of hard to read. [13:12] I would essentially hop into the place where I have these skills. [13:15] and say, "Here's what happened." [13:17] Give me a suggestion on how to improve this skill so this doesn't happen again. [13:21] and then iteratively just keep building that skill. And the first flowcharts this thing made were... [13:28] you know, shapes stacked on top of each other. It didn't make any sense. But it's come a long way. [13:33] Not much. [13:35] without many changes to [13:37] Like the underlying app? [13:39] It's really just been about getting Claude to understand and know the skill. [13:43] and [13:44] And I find that works better than [13:48] something like Mermaid just because [13:51] I really feel the power of building my own dev tools now and that [13:57] I really don't want to hit the constraints of Mermaid, if that makes sense. I want to be able to say, "Okay, I want a new feature in Flowey. I'm going to build it. I'm going to update skills and I can be confident that [14:07] Claude can actually work with that and understand the new feature. [14:10] Yeah, one of the things that I really observed in myself as a engineer is [14:15] As I access more and more of my dev tools through like an MCP or config as code or any of these things...

14:22-15:55

[14:22] I start to realize it's very easy for me to extend what they've built and customize it to myself. And so [14:29] I do think, you know, of all the places, DevTools is an interesting one where, one, your users are super cheap and two, they're capable of... [14:37] of forking what you've built in three, there's so much open source that I really do think there's gonna be this trend towards [14:45] Build I used to be when I, you know, I ran these big product and engineering orgs. They used to ask me build versus buy. And I was like, Oh, my God, please just buy it. Like, please just take my credit card and buy it. And let's not waste our time. [14:56] And now I've flipped to, of course, we should build this until we hit some constraint. [15:01] we should build it. And certainly individual engineers, if something's useful, you should just build something yourself, at least for V1. [15:09] spending the extra money anymore. I mean, I've seen... [15:13] I feel like I'm seeing this pattern on Twitter, but... [15:16] It's... [15:18] everyone's posting some product, some ridiculous pricing tier and saying, someone please vibe code this. You know, I feel like that's, [15:24] happening all across SAS. Yeah. So can you show us how you'd either create one of these flowies, use one in your cloud code? Like, how does this actually work? [15:32] What I was thinking is I have this tips and tricks section in this little like demo... [15:38] Clawed Code Guide app. [15:40] My whole background's in mobile development, so this was the easiest thing for me to spin up. [15:45] But basically, I kind of don't like... [15:47] These cards, I almost want this to be a little more fun. Let's say you want like a spinner wheel. It lands on something and then it shows you the tip.

15:55-17:27

[15:55] The development flow for me usually looks like [15:59] Hopping in here, I have some funny aliases, but I'm a fully... [16:03] bypass permissions guy. So Kevin in my terminal actually routes to Claude with bypass permissions. Okay, so you've named different permission scopes as aliases in your terminal. Oh, yeah. [16:16] For our listeners, we have an episode very recent of John Lindquist, who actually shows how to set up those aliases for Quang Code. So definitely check out that episode. [16:26] for if you want to set this up, I just have a classic like CC and then I'm going to make a CC scary. That will make me that'll be my like dangerous. Oh, yeah. [16:35] Yeah, I'm more and more in this Kevin mode today. [16:43] Find that a lot of like projects where I'm, you know, solely working on it or working within the team I'm on. [16:50] we have all the like rules set up and get that if i do something horrible it's okay but there are definitely times like [16:58] If I'm creating a PR, every now and then I still do it by hand, but I have a lot of skills that do a lot of those workflows, run the pre-flight checks and make sure we're... [17:07] all good before pushing it up. [17:08] But besides that, I'm kind of okay running Dangerously Bypass most of the time these days. [17:14] Great. So you go into Kevin, aka Claude Code. And what do you do? [17:19] So for this... [17:22] My prompt would probably be something along the lines of, look at our previous plans,

17:28-18:57

[17:28] and then explore the code base. [17:32] Just want to re-anchor it a little bit. [17:34] especially on a fresh chat. [17:36] on the tips and tricks. [17:39] Section. [17:40] I want to create [17:43] a spinning wheel, [17:46] where a user presses... [17:49] A button. [17:51] The wheel spins. [17:53] and then [17:54] That is one of the tips. [17:58] After that... [18:00] the tip should... [18:02] Pop. [18:03] up in a card just below the spinner. [18:09] Then kind of the next step and what I've been doing more and more, which is not how I initially started using this tool, is actually having it make... [18:17] the flow chart of [18:21] how the code's going to work, a system diagram, anything like that. In this example, I'd actually want [18:27] Both... [18:28] kind of the user flow [18:30] and an animation timing sequence. I've found this to be super helpful with like, [18:36] complex animations. [18:38] So I would say then, [18:40] use the Flowey flowchart skill. [18:45] to create. [18:46] an animation timing sequence diagram [18:51] and a user flow diagram. [18:54] for the tips and tricks. [18:57] page.

18:59-20:33

[18:59] So... [19:00] We'll send off Claude. It's going to do a little bit of exploration. [19:04] Oftentimes, yep, there it is. I actually really like these Explorer sub-agents, and oftentimes I'll kick off three, four, five in parallel. [19:14] just to look at different places, especially if I'm in a larger code base. [19:18] But just gathering all the context around it, this is a small app, so I don't imagine this will take too long. [19:24] Then Claude's going to load up this Flowy skill, write it out, and we should be able to look at that in the Flowy Editor, and then [19:32] play around before we actually implement it. [19:34] While we're waiting for this to load, can we look at that flowy skill just a little bit just to see how you've structured it? [19:40] For sure. [19:41] So let's first... [19:43] I'll just show you the supporting files. [19:46] This one's just a skill MD. [19:48] This shows you how... [19:50] almost hands-off I am with some of these skill files, particularly the ones that I build myself. [19:56] Yeah, we have a... [19:58] We have a skill 101 episode and it's like it's a it's it's a markdown file. [20:03] In a fault word. [20:05] It's a markdown file and [20:08] Sometimes... [20:10] This might be a specific example, but... [20:13] with Flowey. [20:15] It's very squishy, I would say. I go in there, I change something quick, I say "update the skill." [20:20] And really the process of refinement is me using it and seeing what failed. [20:25] So here... [20:26] Don't super care. I [20:29] how this file is set up as long as when I make an update

20:33-22:05

[20:33] Afterward, it's performing better. Like I almost feel good letting the model manage what this looks like. [20:40] So let's read through it. [20:41] has a bunch of examples in here. [20:44] Let me scroll up to the top, I'm sure there's some overview. [20:47] Great. [20:48] So, [20:50] Again, classic overview. [20:51] Hey, we're gonna make flow charts and architecture diagrams. [20:55] They're going to render on this port. [20:57] here's where you're gonna make them, [20:59] It knows that the Flowy app looks for the Stop Flowy folder. [21:03] Kind of gives it some high level on like, what does the metadata look like? [21:08] What do you include? Nodes and edges. [21:10] and then starts digging into the specifics. So we have the different shapes. [21:15] what a rough kind of schema looks like. You've got your styles. You have icons that you can use. [21:21] and then starting to list out the properties. [21:23] So I wouldn't say this is anything... [21:26] super crazy or even too long and detailed. [21:30] but this encapsulates all the pieces that Claude needs to know. And you can almost see here, like, [21:36] as feature development happens, how this [21:40] skill grows. So recently I'd set up this whole like semantic color system just to have [21:45] Somewhat of consistent themes, sometimes Claude liked to pick some crazy colors. [21:50] and [21:52] this section just popped into the skill. As I'm doing development on Flowey, [21:58] Part of every plan for code in Flowey is updating documentation and updating the related skills.

22:05-23:37

[22:05] - Yep, and I find myself in this loop so frequently, very similar to you with skills, which is like, [22:11] I'm happy the skill works and then when the skill doesn't work, [22:14] I update the skill and as long as the update got me what I want, I move on with my life. The AI can read the markdown. So, and a couple things I want to call out though for folks that are writing skills or reading skills that are important if you scroll up real quick. [22:30] is, yeah, so... [22:34] And then there's a couple of things. It's like, what's the purpose of the skill? What's its name? [22:38] Quick start, I think is really nice. [22:40] You know, you need these things in order to run the skill. [22:43] here's the schema or the template or the framework within which you're operating. Right. [22:50] Here's some customization of it. And then at the end, it's like, here are good examples of what works. And I think that's a pretty solid skill. [22:57] The good thing is you don't have to know how to do that. You can just have a quad skill to write skills or just [23:05] No skill, but it's pretty good at it to write skills. And then you end up with something like this, which I think is really great. And it can do this. I'm presuming you had to do this from... [23:15] building flowy and then saying, okay, build me a skill to use this based on the code that exists in the repo. [23:21] Yeah, I have a, like... [23:23] Metaskill that is all about making skills. [23:28] One thing I will say it looks like it violated is I actually prefer like a preflight section [23:34] sometimes after Quick Start, just to give it like,

23:37-25:12

[23:37] Hey, you have to make sure we're meeting all these requirements first. Quickstart here is kind of doing that, but there are definitely some examples mainly in Git workflows where I really want those preflight checks. [23:49] But absolutely, this is [23:52] essentially managed by the agent and... [23:55] it's updated as we're doing development. So this is almost like... [23:59] living documentation and there's docs for people and there's docs for agents and those just end up being skills. [24:06] Yep, great. Okay, so let's go back and see if it's made you a... [24:09] flowy. [24:11] Sweet, so looks like it made two. I usually like to [24:15] Zoom out and read the high level in the chat. [24:20] This looks about what we want. [24:21] If we hop back over to here, we can see we have these new [24:25] these two new ones, animation timing and user flow. [24:29] Thank you. [24:30] So, [24:31] These ones have been super helpful to me lately. [24:34] Again, I'm not loving how this white is looking on this pastel note. [24:38] But... [24:39] High level, we want the user to tap a wheel. [24:42] the button's gonna do a little [24:44] scale animation and there's going to be some haptic feedback. [24:47] and then we're going to go through this spin animation, [24:50] do a brief pause, and then reveal the tip that it lands on. This is great. [24:56] This is exactly what I'd want. [24:58] Maybe I want the animation to be... [25:01] a little longer... [25:03] I can actually come into here. [25:05] Uh-oh, we have taunt color issues. You can tell dark mode is new.

25:13-26:43

[25:13] I can flip it real quick. [25:15] But if we hop down here, [25:16] Sometimes I even just put a note [25:19] That might be me being lazy and not adding certain features, but [25:23] Maybe I want this to actually be... [25:26] a four second animation instead of a three second. [25:30] I want this to be [25:32] 4,000 milliseconds and not 3,000 milliseconds. [25:37] I'll just throw in that note. [25:39] I'll hop back to Claude. [25:41] I left. [25:43] A note on the animation. [25:45] Timing. [25:47] please take it into consideration. [25:50] And update that. [25:52] flowchart. [25:56] While Claude is working on that, we can check out the user flow. But basically the goal there is to have this diagram right in here, which is a little small, but right in here say... [26:07] For this animation, we don't want it to be 3,000 milliseconds. We want it to be 4,000. [26:12] on the user flow, [26:15] Again, we captured kind of the behavior that we want. [26:19] Again, it's not perfect, there are rough edges on the bugs here, but... [26:22] We're going to go into this tab, we're going to tap Tips and Tricks, [26:26] This is going to open up to [26:29] this screen, they're going to tap, we're going to check the different states of currently spinning. [26:34] And finally, [26:36] we're going to have this random target that we land on, and the card animates in. This is great. This is exactly what I was looking for here. [26:42] Um,

26:44-28:13

[26:44] In a more complicated system, I often will start high level, [26:48] then start making more granular ones, but for something like this, this seems to cover [26:53] the needs we have. [26:55] I will say, I have no idea how... [26:58] it's going to handle the UI mockup. [27:02] But the next step would be to prompt it to do that. [27:05] After it finishes this, I'd say something along the lines of, [27:08] Great. [27:09] Based on those diagrams... [27:11] Please create [27:13] UI mockups. [27:15] using the Flowy UI mockup skill. [27:20] Reference. [27:22] Other UI mockup. [27:25] flowy json files [27:28] in this repo. [27:29] Meet Rovo, your AI teammate, connecting knowledge, people, and workflows so teams can work smarter and move faster. It helps people find answers, make decisions, and automate work, securely and with context, through Search, Chat, Agents, and Studio. [27:47] Rovo runs on the Teamwork Graph, Atlassian's intelligent layer that unifies data across your first and third-party apps so no knowledge gets left behind. And you always get personalized AI insights from day one. And the best news? It's already built into Jira, Confluence, and Jira Service Management paid subscriptions, so the power of Rovo is already at your fingertips.

28:17-29:51

[28:17] you [28:18] If you rovo, you know. [28:20] Discover Rovo, AI that knows your business, powered by Atlassian. Get started at rovo.com. That's R-O-V as in victory, O.com. [28:34] You know, I think this is so cool. It's such a great example of like build your own dev tool, you know, interact with your agent, cloud code, how you want, create a shared language between you and your AI agent. [28:46] What I also really appreciate is [28:48] Claude one-shotted your flow pretty close. It was like, "Yeah, that's what I want." And [28:54] It probably could have done that or would have done that really well in a plan in Markdown. [28:59] What I find, though, is my human brain... [29:02] is increasingly blind, [29:04] to code and mark down, like staring at it and just the cognitive overhead of reading, like step by step. Is this actually what I want? [29:14] is hard when it's just text, even if it's accurate. And so even giving, oh, [29:19] Hold on, side news, people, quick. [29:22] breaking news Polly the Quad Bot just joined this podcast this laptop is closed [29:28] - The lunchtime is closed. She is not alive right now. I don't know where she is. - I think Polly's gonna take over. [29:38] So, we're going to boot Polly the Claw Bot. Thank you for joining, Polly. This actually freaks me out. We will do a follow-up on My Sentient Lobster. I guess it's the open Claw Bot now, but...

29:51-31:24

[29:51] If you don't hear from us, Polly got us. It's all. Okay. She might just be on, on the rest of the episode. I don't know. I don't know how to help this. I guess I hope, I hope Polly likes flow charts. She'll do show notes for us. But what I'm saying is like being able to read that markdown is one thing. [30:10] being able to look at a flow chart and just say, yep, this is exactly what I want is super helpful. So that's just one thing that I think is really nice about a tool like this is even if the content is the same, the ability to change the form factor is really useful. [30:26] Yeah, it's... [30:28] It's almost like I want to see it visually, [30:31] And [30:32] Claude wants to see it as Markdown, so we can kind of speak in our own way. [30:37] And I almost think there's like... [30:39] This has yielded a ton of random ideas for me, but I think this is a whole new paradigm that [30:45] I think dev tooling around [30:47] AI has not [30:48] super leaned into yet. [30:50] but how you're going back and forth with an agent, [30:54] I think is going to look so much different by the end of this year than what we're doing right now, where it is, you know, a lot of markdown, a lot of prompting. [31:02] Yeah, I completely agree. And I think the question is going to be, [31:05] you know, who's going to build that UI? Who's going to own it? Is it going to be just like an open source thing that we all get on? Is it going to be an extension? [31:12] Is is cloud code going to just generate these kinds of assets or really exciting? I think what's kind of fun is this like on demand software idea. [31:20] which is, you know, imagine Cloud Code's like, we're not on the same page.

31:24-33:02

[31:24] I just added an app. [31:27] for you to visualize this real quick, go to this URL and look at it. Does this look right? And then we'll just delete that app. So I think there's just like some interesting ways this can [31:37] can manifest i think in the future okay so it created user has it created the ui yet oh spinner mock-up okay great so looks like claude spun up a mock-up here this is actually better than i thought i was almost thinking one of those like circles with wedges as the spinner and i know there are not shapes in flowy that can support that but looks like claude kind of worked around it and [32:01] built out this wheel. We have both a couple of mockups to show the different states, [32:06] and the full flow between... [32:09] spinning it, waiting these four seconds for it to load, and then it actually loading in. [32:15] Again, for this app, this looks great. [32:19] I will say editing some of the UI stuff right now, [32:22] isn't the easiest thing, but if I were to come in here and say, "Clawed tips," [32:27] End tricks. [32:29] I could then do a similar thing, hopping back to Claude and saying, [32:33] I made a change. [32:35] to the title on one mock-up. [32:39] Make it everywhere else. [32:42] This kind of feels like when you prompt it and say, you know, add two pixels of spacing there. And it's just as a tiny diff, but... [32:50] Definitely for dragging around boxes, it's helpful. [32:53] You know, our fingers get tired. I can't copy and paste everywhere. No, what I was going to say is so funny is you're apologizing like, oh, some of the UI is broken. And.

33:02-34:34

[33:02] We're in this world where you're like, [33:04] Yeah, my Figma that I vibe-coded where I can do mock-ups in a web browser. There's like some rough edges on it. I spent, you know, two hours on it, but I think it's so fun. Yeah, it was an afternoon. It's not perfect yet, but... [33:19] It's so much more than we were able to do before. Okay, so this is awesome. You're updating this. And then I'm presuming you would just point Claude to these assets and flows and say, let's make a plan and go. [33:31] Yeah. [33:32] For something like this, [33:34] I've basically been... [33:36] doing this thing more... [33:37] recently where I'm letting the agent do more and more to see [33:41] where it surprises me. I think... [33:43] with any new change, even like the new Claude Code tasks system they released the other day. [33:50] I just really like to push the agents and see what they can do. [33:54] So here, [33:55] I'm actually going to skip the plan and say... [33:57] Based on the flow... [33:59] Amen. [34:00] Based on the flow charts, [34:02] And the mockups [34:05] Build this feature. [34:08] and I'm going to keep it that simple, [34:11] We've specified the behavior we want. We've specified how it should look. [34:16] Claude here is even going to enter plan mode, and I'm actually going to take it right out of it. [34:21] and we're going to see if the just build it prompt worked here. [34:25] Perfect. [34:27] Great, looks like Claude built this out. It even checked for any TypeScript issues, which is great.

34:34-36:04

[34:34] We're gonna hop over here. We have a nice little spinner. [34:38] It's looking pretty close to this mockup. I will say there is a limiting thing here where [34:44] shapes that are made in the mock-up [34:46] then dictate the shapes that are made on the UI when sometimes we want something else, but [34:52] Just for this example, I think this is going to work out. [34:55] You're going to spin it. It's going to spin. [34:57] Ooh la la. Landed on one of them, and we get the tip. [35:02] I love it. It's so good. [35:05] It's just again, for anybody who is [35:10] internet elderly like me. It is just back. [35:13] to the original, like make your workflow diagram, do your wireframes, polish the copy, give your quote unquote engineer [35:23] Some detailed step-by-step specs, don't make them think. [35:26] And then... [35:28] you know, it used to be get it in a sprint, wait for somebody to prioritize, like cry a little bit, wait for the code, blah, blah, blah. And now it's like, no, just [35:37] just build it and and it's here. So this is such an awesome flow. And then I want to so I want to recap really, really quickly what we covered. So [35:45] We covered, you know, markdown plans, the limitations of some of the visualizations in that. You created your own tool, Flowy. [35:53] which does a combination of workflow diagrams and UI mockups using a JSON schema, that then you access through skills that you have developed over time using CloudCode,

36:05-37:35

[36:05] in your development processes, go into Cloud Code, ask it to create a flowy diagram and UI, [36:09] You can talk, quote unquote, between the UI and Claude code, because it's all just code as the underlying substrate between you two in terms of communication. And then once they are ready to go, you bypass plan life. You're living dangerously. [36:25] And you build it and you get something that's [36:28] really close and we built this thing and you know just a few minutes awesome [36:32] Yeah, no, I mean, I think... [36:35] That flow I will say a lot of times there's a markdown file involved, but I [36:40] For something like this, I feel like I can trust it at this point. You know, something like Opus [36:45] 4.5 [36:46] with this level of detail already has all it needs. This almost like serves as the plan. [36:51] Now, I have to call you out, though, because you say you can trust it. And yet today you posted or recently posted on X... [36:58] that you do occasionally use codex. [37:01] to check Claude's work. You want to just talk us through that workflow? You don't even have to show it unless you want to. For sure. I'll kick it off. I will say Codex takes its time. [37:11] Um... [37:12] But over here, I have another funny alias, but my... [37:16] Codex setup is under Carl. If I kick off Carl... [37:21] I often don't have any crazy, like... [37:24] skills or prompts here, I almost want it to [37:28] do a review [37:31] more broadly and then describe [37:34] the issues it's seeing,

37:35-39:05

[37:35] So I'm not running any specific skill or any specific prompt here because... [37:42] I'm more concerned on the [37:45] I guess like things that aren't clear rather than something that's like a logical bug. At this point, I feel like I'm mostly a QA person. [37:54] And if there's something that's logically wrong... [37:57] I've definitely found that I'll find it, or if I have something in the docs in here, it'll find it. Codex always finds those types of things. But I almost want to look for, like, the code smells. Like, you know, is there just a cleaner way? [38:12] usually just prompt it with [38:15] Take a look at our current git [38:19] Diff and give me a report [38:22] on the following. [38:24] And there's. [38:25] kind of four buckets I would say. [38:27] One... [38:29] for the plan or diagram artifacts [38:34] We have... [38:36] Does the code accurately... [38:39] reflect them [38:41] to are there any general code smells. [38:46] And three, if we were to do this again, [38:52] and take a different [38:55] approach [38:56] to refactor [38:58] code around it. [39:01] to overall improve this code base.

39:06-40:39

[39:06] What approach [39:08] would be best. [39:11] I want it to... [39:13] find places where we could have done this better because I [39:17] find that Claude is... [39:19] very eager sometimes, and maybe jams things in there without thinking about the bigger picture. [39:25] and Codex I don't think is much better when it's writing code, but when it reviews [39:30] it almost always is like you've implemented this pattern, but it fits nicely if you just rebuild this system a little bit. [39:37] And that just keeps your code base like [39:39] Away from all the vibe coding sins of having, you know, 10 format date functions all over your code. [39:46] Yeah, so I love this. I was going to say like twin stars, because one of the things that I do when I vibe code too close to the sun, which is I. [39:55] harness the power of Claude code or whatever, and I just bite off of like a feed, like a big, big old thing. And if you've ever done this with AI, you know, either Claude code or curse or whatever, [40:07] And you sort of have a general idea of a feature, but then you're specifying the requirements as you go, as you see it. [40:14] you sometimes end up with a monster death. And when what I've done a lot with that is I say, Okay, this is [40:21] basically what I want. [40:23] Now go. [40:24] write me a plan to re-implement this in a sane way. And then let's completely rebuild it. And so you can do this, like review it and tell me how you do it better. You can also say like, this is a reference code base of like kind of what I want to achieve.

40:39-42:12

[40:39] Let's go actually build a plan to build it in a more extensible, scalable way. And I found that to be a really useful flow as well. [40:45] Oh, I like that. It's almost like... [40:48] You're almost telling it like, "Hey, this isn't the real thing." - Yeah. - Hypothetically. [40:52] Yeah. [40:53] It's kind of like code as spec where it's like now that code is so cheap to generate, you can say [40:58] Generate a bunch of code. [41:00] This isn't [41:01] This isn't production. I'm fine throwing it away. [41:04] now go build like clean, clean version of it. So [41:07] That is a version of this I think is useful. I also agree, though, that Codex is like kind of a... [41:12] really good curmudgeonly staff engineer that will look at your code and tell you what's wrong with it. So I like the model for this use case as well. [41:21] Every now and then I'll throw in like a "Be extra critical" and then bringing that prompt back to Opus, it gets a little sad, so I have to manage. [41:32] One of the things that I, with the Google models, I always used to say is they were like very smart, but clinically depressed. Like they're always so sad, especially when you look at their... [41:44] Sometimes I read it and it's like, oh, man, it's OK, man. We can get this to pass. It's not building. So I want to look at this just for again. You said Codex can can take its time. [41:57] But it's going through and really... [41:59] checking if the feature aligns with the current code, [42:03] It's identified some issues, use effect just haunting us from every corner of our apps. So...

42:12-43:45

[42:12] That's a good one. And looking at some of the animations, which are probably pretty hard [42:17] just again, like with our human eyes to parse and visualize and understand. [42:22] Great. Okay, Codex. I was actually surprised it took this long. [42:27] So it's talking about the diagram. [42:30] it's kind of going through and mentioning a mismatch. It's saying the wheel rotation, [42:34] ads, [42:35] some of the segment angles [42:37] but the dots are defined at different angles. This makes the pointer land between the dots rather than on the dot. [42:44] which I believe is correct. [42:46] So it noticed kind of [42:48] Essentially this discrepancy that we have a mock-up that has the arrow landing on a dot, [42:54] And over here in the app, the arrow lands between the dots. [42:58] So kind of little things like that, particularly around checking the discrepancies, I really like when it finds. [43:04] And then at the bottom we have this like, if we refactored this again, [43:08] let's pull some of these things out into components, let's make some constants, kind of just like some classic [43:14] you know, one-shotted Vibe Cody tips. [43:17] And oftentimes from here, [43:20] I'll actually just have Codex write it. Medium, GPT 5.2 Codex, whatever the full model name is. [43:29] I've found it's fine at editing files and writing them. Previously, like... [43:35] You know, when GPT-5 first came out and they were working on Codex, that would have taken like 15 minutes. I'd hop back to Cloud, but nowadays I would basically just say,

43:45-45:20

[43:45] Great, please make those improvements. [43:48] Maybe. [43:50] Given more time, I would think up a more thoughtful prompt, make a plan about this, all those things. [43:54] But here, I'll just kick it off. [43:56] Well, I mean, you did spell it correctly, so... [43:58] You did put some quality into this. Yeah, I was about to hit enter, but... [44:03] Okay, so I think this is a really, really great flow, and I would highly recommend it. You know, I think we're all trying to figure out, like, where does code review happen? There's also code review agents. There's also your... [44:16] CICD pipeline, which you said has a lot of guardrails around it, so nothing hits prod. [44:21] that's really terrible and is going to break the app. And I think this is... [44:25] Just a great flow, especially I think for software engineers out there working on software. [44:32] teams. [44:33] Like this is such a great flow to say, [44:36] "Hey, designer, you gave me a spec. "This is kind of what I'm gonna build. [44:40] Are we good? If so, I'm going to go. [44:43] And then same with this loop on kind of model to model evaluation. [44:48] Which is if you're a more junior engineer, early career, and you're going to do your first couple PRs into... [44:55] a company that, [44:57] It's nice to get that pre-flight check from a smart model to just say, I thought about, oh, we could factor it this way, or I chose not to do this component that way. I think it's really... [45:09] useful. So this is a great solid software engineering flow. Love to see it. Okay, we're going to skip to lightning round questions. Thank you for showing us all the stuff that you're doing here.

45:20-46:51

[45:20] - Let's talk about something [45:22] fun. [45:23] What are you most excited about right now in AI outside of all this coding stuff? [45:29] I'm very deep in the code world, but... [45:33] I really like Google released Genie 3 Access the other day and [45:38] I only, you only get like 60 seconds to play around in a world, but [45:43] It's really fun. And I can totally see... [45:47] you know, five months from now, six months from now, if we can get a 10 minute version, [45:52] I think they can go viral. I think a ton of people are gonna have fun with them. I think that's like a big next step that [45:58] Isn't quite there, but is super close. Yeah, I am. For those that don't know, Genie is this sort of like generate a explorable world. It sort of creates a video game style world that you can like walk through and look through for 60 seconds. I don't know if you're are you showing it? I don't think you're showing it right now. [46:18] Oh, let me pop to this tab. [46:19] I can pull it up too. We can pull it up. Ah! [46:23] I have a clod primed. [46:25] This is my closet Polly. I think this is Polly. I didn't know Polly wears a leather jacket, but... [46:33] Okay, so you used Nano Banana to create an image, and then that image you can create a world. It's kind of amazing. Yeah. [46:40] Yeah. [46:41] Really interesting out. I did not expect it to take an image and then make it yeah, but they have a [46:48] this whole flow on Project Genie, if you have the

46:51-48:23

[46:51] Ultra. [46:53] Yeah, I can't juggle all the account names, but one of the high accounts at Google... [46:59] and it'll actually give you a prompt structure where you're describing the environment. [47:04] and then you describe your character. [47:06] So I think for this I just said an animated lobster in the Matrix. I did not specify a leather jacket, to be clear. [47:13] I guess in the matrix, they're all wearing leather jackets. So yeah, maybe let's make him cooler. Make him [47:21] Cooler. [47:22] I [47:22] make the lobster... [47:25] Be in a suit with sunglasses. [47:28] Oh, so it's an agent-lossed obster. [47:31] Thank you. [47:32] Yeah, he can't be the good guy here. I will say their interface for this is really cool. Yeah, it looks great. [47:39] I was playing it with my husband earlier. And so for all the parents listening, one of the things we did, our kids are really into Greek mythology, really into the Odyssey. We're reading the Iliad right now. [47:49] And my husband said, like, create... [47:52] you know, a scene from the Trojan War, but no violence, no violence. So we can walk through what the camps look like, but not have like, Achilles, you know, on the ground and Hector, you know, all this stuff. So it's kind of cool. [48:05] That's really cool. Oh, yeah. [48:07] Yeah, this is... I don't want that. Yeah, he's backwards. He's backwards. He's backwards. [48:14] but that's okay. Yeah, we'll just hop into create the world. Let's hope Jeannie... [48:20] identifies he's backwards and flips him around.

48:23-49:57

[48:23] Because this is... [48:25] This is like Harry Potter when, what was the character that had the villain on the back of his head? Oh, yeah. Yep, the guy. Was it the one with the turban? Oh, man, we're running. [48:36] I didn't know he'd be running. [48:40] He's running forward, but his sunglasses are on backwards towards his tail. So maybe he's not backwards. Maybe his clothes are backwards. I think he's got two. Oh, he has a mustache kind of. [48:53] - [48:54] This is where your GPUs and your brightest research minds are applying their effort so we can have a two-sided, slightly backwards... [49:07] Matrix, Aja, Genie. [49:10] lobster run through [49:12] Yeah, it's definitely got, I will say when they first released this, they released the best batch of examples they had. But that doesn't mean it's not fun. [49:22] Okay, coming soon. CJ is going to become a game dev. And this is going to be a 3D game in which you race to stalk me. [49:33] and interrupt a live podcast by joining [49:37] Yeah, the goal is to join the latest How I podcast. This is amazing. Okay, we're gonna wrap up with my final question for you that I ask every guest. This is a great example. [49:52] When AI is not listening, it's not doing what you want. It is putting your lobster tail on backwards.

49:57-51:33

[49:57] What is your prompting technique? [49:59] Are you a yeller? What do you do? [50:01] I used to be a yeller, and... [50:05] I don't know when it was. Maybe it was a Gemini thing where... [50:09] You know, I'd yell and it would get sad, but... [50:12] I started to feel bad about it. [50:15] So... [50:16] I've almost started thinking about it like it's... [50:20] you know, a lot of the coding workflows, a junior developer. [50:23] or whatever task it might be, you know, it's an assistant, something like that. [50:28] And I very often am like, [50:30] - Good try, you did your best. Here's what you did, and I kind of explained that. [50:37] and then I'll say, here's what I was going for, [50:40] And probably particularly with Claude, occasionally I'm like, my bad on the miscommunication. Like, I give you a bad prompt. This is on me, but here's what we're looking for. [50:50] I do find that that works pretty well when I'm trying to steer it. [50:54] But I can't claim there aren't zero times where I'm like, [50:58] what the hell just fix it you know and you hop in there you know what a lobster looks like man yeah you're on right i've seen so many nano banana lobsters on twitter this week that i know it knows the face is not backwards perfect well cj this was [51:15] Awesome. I think just super practical, really useful. I think a bunch of people are going to go out there. People can people use your flowy like is there a way to pull it into their own repo? [51:25] So I've been working on that. I think... [51:27] Maybe by this weekend, we'll see how sidetracked I get trying to set up a...

51:33-53:05

[51:33] Open Claw bot. Don't do it, man. I'm telling you. Well, now I'm kind of scared it's going to start taking over my computer. But I'm going to try and get it released this weekend. Basically, a set of skills around it and kind of like a first version that... [51:49] people can use and try. And, you know, I would love any feedback around that. This has been a play toy for me that kind of turned into something useful. So definitely want to make it available to all the AI engineers out there. [52:01] Great. Well, we'll link it in the show notes. Well, CJ, thank you for joining. Where can we find you? And then how can we be helpful to you? [52:07] Mainly Twitter. I do a combination of tech posts and also just random one-off thoughts. My Twitter handle is S-E-E-J-A-Y and then Hess. Um... [52:20] And then I think I have the same setup on LinkedIn. [52:24] But [52:24] That's pretty much everything I've got online. Feel free to hop in there, leave comments on my articles, yell at me, whatever. [52:32] Perfect. Well, thanks for joining How I AI. This is great. [52:36] Awesome. Thanks, Claire. [52:47] You can also find this podcast on Apple Podcasts, Spotify, or your favorite podcast app. Please consider leaving us a rating and review, which will help others find the show. You can see all our episodes and learn more about the show at howiaipod.com. See you next time.

Want to learn more?