How I AI - How to build prototypes that actually look like your product | Colin Matthews (Product leader, AI prototyping instructor at Maven)

Episode Date: June 30, 2025

Colin Matthews is a product manager, founder, and hobbyist engineer. After spending the past eight years in healthtech, he recently left his role as a PM at Datavant to go full-time on building his ow...n products. He is currently a top Maven instructor, helping PMs build their first AI prototype. In this episode, he shares a step-by-step workflow for creating component libraries from screenshots that stay true to your brand and reveals a clever Chrome extension trick for extracting code from any website to build reusable components.What you’ll learn:1. How to create component libraries from screenshots that match your brand’s design system2. A Chrome extension that can extract components directly from any website with a single click3. Why forking prototypes is the key to efficient iteration without breaking your baseline4. The structured prompting technique that makes AI tools actually listen to your instructions5. How to introduce AI prototyping to your team without stepping on designers’ toes6. The debugging approach that solves 90% of AI prototyping errors—Brought to you by:WorkOS—Make your app enterprise-ready todayNotion—The best AI tools for work —Go deeper with Colin’s in-depth post in Lenny’s Newsletter:https://www.lennysnewsletter.com/p/how-to-get-your-entire-team-prototyping—Where to find Colin Matthews:LinkedIn: https://www.linkedin.com/in/colinmatthews-pm/Tech For Product newsletter: https://colinmatthews.substack.com/Tech For Product one-day team workshop: https://teams.techforproduct.com/Maven course: AI Prototyping for PMs: https://bit.ly/3FQgZmw—Where 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—In this episode, we cover:(00:00) Introduction to Colin Matthews(02:46) Creating component libraries from screenshots in v0(05:50) Using prompts to extract components from existing products(06:31) Building an Airbnb prototype from component libraries(11:36) Using the Magic Patterns Chrome extension to extract components directly from websites(18:38) The importance of improving components rather than the composed application(20:15) Using forks and versions for iterative prototyping(25:05) Managing team dynamics when introducing AI prototyping(26:54) Final thoughts—Tools referenced:• v0: https://v0.dev/• Magic Patterns: https://magicpatterns.com/• Magic Patterns Chrome Extension: https://chromewebstore.google.com/detail/html-to-react-figma-by-ma/chgehghmhgihgmpmdjpolhkcnhkokdfp?hl=en• Cursor: https://cursor.sh/• ChatGPT: https://chat.openai.com/• Bolt: https://bolt.new/—Other references:• Colin’s AI prototyping prompt library: https://technical-foundations.notion.site/16c8fafdb669800ea6eeca11f40d046c?v=16c8fafdb6698069a6e4000c84a9ff2c• Airbnb: https://www.airbnb.com/• Notion: https://www.notion.so/• Amplitude: https://amplitude.com/• PostHog: https://posthog.com/• Figma: https://www.figma.com/• GitHub: https://github.com/—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.

Transcript
Discussion (0)
Starting point is 00:00:00 Can you show us how you get these prototyping tools to prototype your product? So here's our component. All I have to do is click convert to component, throw it into my chat purity library. And now it's going to import basically all of that styling and structure and regenerate it as like a proper component. So you can see the prompt here is basically all of the code from your website. You used to have to know how to code or get really good at Figma. And now we have unleashed the product manager with these chat-based prototyping tools. You have this prompt that lets you extract those components out of a screenshot. So I'll say create a homepage for Airbnb and basically assemble a homepage using those components.
Starting point is 00:00:38 You want to match your existing design with a screenshot. You can paste that in to start and you add your new AI feature on top or whatever you want. Oh, look at this. It's Airbnb. These tools can be used by anyone on the team. Your operations team could prototype something and send a team or customer success could use these tools. There's no limit on who's allowed to have ideas. Welcome back to HowIAI.
Starting point is 00:01:02 I'm Claire Vow, product leader and AI obsessive, here on a mission to help you build better with these new tools. Yeah, yeah, the word of the year is vibe code, but if I had to pick a close number two, it would be prototype. That's why I'm excited to have on Colin Matthews, who's going to show product managers and designers how they can take screenshots and turn them into component libraries for your favorite prototyping tool to use. Use a Chrome extension to rip your exact code to pull in to integrate, with AI tooling and how to use a fork to bring some sanity to your AI prototypes and designs. Let's get to it. This episode is brought to you by WorkOS. AI has already changed how we work.
Starting point is 00:01:43 Tools are helping teams write better code, analyze customer data, and even handle support tickets automatically. But there's a catch. These tools only work well when they have deep access to company systems. Your co-pilot needs to see your entire code base. Your chatbot needs to search across internal docs. And for enterprise buyers, that raises serious security concerns. That's why these apps face intense IT scrutiny from day one. To pass, they need secure authentication, access controls, audit logs,
Starting point is 00:02:14 the whole suite of enterprise features. Building all that from scratch, it's a massive lift. That's where WorkOS comes in. WorkOS gets you drop-in APIs for enterprise features, so your app can become Enterprise Ready, and scale up market faster. Think of it like Stripe for Enterprise features. OpenAI, perplexity, and cursor are already using Work OS to move faster and meet enterprise demands.
Starting point is 00:02:40 Join them and hundreds of other industry leaders at WorkOS.com. Start building today. Colin, thanks for being here. Yeah, super excited to join. So one of the things product managers love right now is they are super empowered to prototype. You used to have to know how to code or get really good at Figma. And now we have unleashed the product manager with these kind of chat-based prototyping tools. But one of the problems that I found is somebody who is trying to bring these prototyping tools into a larger company is they're not, at least in my experience, particularly good at replicating your brand, your design system, your patterns.
Starting point is 00:03:21 And so you sort of annoy the product managers and engineers first by doing all this work that no one asks you to do. And then two, you're not giving them assets that match the brand and the design system, but you seem to have figured this out. So can you show us how you get these prototyping tools to prototype your product? The concept here is actually pretty simple. Comes kind of from the design world of having a component library. So you can see here I have kind of a mock one of Airbnb. And I'll start by saying that this approach is applicable to any tool.
Starting point is 00:03:53 So it's not like a V-0 thing or a bold thing or anything like that. It's just the idea of basically creating these components first rather than starting with your views. So I'll talk a little bit about how I actually go about accomplishing this in V0, and then we'll talk about some other tools that maybe like streamline this process a little bit for us. First things first is I just have a prompt that I typically use, and I'm happy to share this with the audience as well. Later on, I have a little prompt library for myself. And this prompt is a prompt to create a component library.
Starting point is 00:04:22 So I tell the AI model that is tasked with creating this component library based on a screen using a set of technologies, I kind of outline what the behavior should be and what we want as a result. Sometimes it listens, sometimes it still tries to replicate the view. And so sometimes you really have to push it on like, only create the components. I want the page to be a list of components. I don't want you to recreate the views because I think these tools have kind of been pre-trained to create the views instead. And so that's pretty much it.
Starting point is 00:04:50 I take this prompt and I throw in an initial screenshot. And if I scroll back a little bit here in my chat, you'll see that a lot of my requests to this particular project are just screenshots in the prompt, please continue adding components. And so I very literally go through and once I kind of have this initial setup, so I have my component library, it starts adding a couple of components. I start just sending in screenshots one kind of page at a time. And for people listening, just to call out kind of what you're seeing here is it seems like you're taking screenshots from different parts. of the app, this example is Airbnb, and you're actually pulling out things like the logo, the search bar, navigation of category items, how ratings work, property cards. So these foundational UX elements that compose this very complex app.
Starting point is 00:05:41 And you have this prompt that lets you extract those components out of a screenshot. Yeah, that's exactly right. And there's kind of two main benefits to this. So obviously right now we don't have what I'd consider to be a prototype. But what we can do is very easily turn this into a prototype. So we can keep this kind of visual consistency not only in our own prototypes, like if I'm doing two different ideas, but also like if you're working with me, I can share this component library with you. And now across the team, our prototypes all have a very similar style or visual consistency. And so I can just run through how to do that.
Starting point is 00:06:15 It's pretty simple. You're going to use this forked feature up in the top right-hand corner, which basically creates a copy of the project. So it'll import all of the same files that we had in the original. And this allows us to not make any changes to the component library, but still use all those files. And then from here, you know, we basically ask it to build us something. So I'll say, you know, create a homepage for Airbnb. And it will take all of that existing code that we have. So all of these files that represent our components and basically assemble a homepage using those components.
Starting point is 00:06:48 And if there's something missing, right, like some of that you have, like some UI element that it wants to add that doesn't exist in the components, it will create them as needed. But generally speaking, it will just inherit those existing components. Got it. And just looking here at the list of components you were able to generate in that prompt, it looks like you have two dozen different components, everything from the logo to what the reserve button looks like, host information. And so you've been able to very quickly get the building blocks of Airbnb and matching the brand, matching the UX style because you've used the screenshot, and now you're taking those different Lego pieces and composing it into something new
Starting point is 00:07:28 for the product. Yeah, exactly. And then we can kind of continue from there, the same way we normally would with prototyping, right? So if you want to match your existing design with a screenshot, you can paste that in to start. It'll use all these components. Then you add, like, you know, your new AI feature on top or whatever you want. Look at this.
Starting point is 00:07:46 It's Airbnb. There we go. So yeah, works pretty good. So we have the Airbnb logo, we have the search bar that we'd expect, we have all, you know, all the various components that we're used to, right? And, you know, there are a lot of components that didn't end up getting used here. So for example, if I ask it to build a detail screen, then it's going to continue, right, to use the components.
Starting point is 00:08:09 So it's selecting the relevant components to use. It's not just going to import, you know, my 30 components into the homepage just, just for fun. Lots of these, like the amenities section, the bedroom car. the booking card, these are all things that we need in the listing page. And you can see right at the top here, it's just listing out all of the components that's importing for that detail screen, right? Yep. And what I would say is something like Airbnb is a well-known brand, well-known UI, and this is pretty close. But are you aiming for pixel perfect? What are you trying to get when it comes to building this component library? Yeah, typically not pixel-perfect. It is still a level challenging.
Starting point is 00:08:47 you'll notice that like some of the icons are not like their particular set of icons. The images are a little bit off. And so usually it's not exact matches. The goal is typically to represent the product in a way that doesn't make people feel like you're talking about a different topic, right? Like they want to be able to look at it and be like, oh yeah, that's Airbnb. And now you're showing me, you know, the new AI experiences feature where it's going to plan my whole trip for me, right?
Starting point is 00:09:14 And so we're focused really on whatever it is your prototyping. but we just don't want to distract people with a UI that looks nothing like the product. Yeah, and if I think about kind of these prototyping tools out of the box, I tell people they're great wire framing tools in that they tend to come pre-baked with these monochrome, very clean, nice to use and accessible UI components, but rarely matches the unique brand that you have. And so this is almost like better than a wireframe. It's not a pixel perfect spec, but it gives you the sense of, of how the UI might look with your brand attached and some familiar elements. Yeah, exactly. So hopefully we can give this a try here.
Starting point is 00:09:55 I think we've wrapped up. And if I click on this or perhaps I go to a, I didn't set up the routing. That's one of those small things. Often I'll be very specific. So we can ask it to set up the routing here as well. But I'll try just throwing in a number and see if that brings us to a property.
Starting point is 00:10:12 Yeah, so we have to go property and then page. So let's try that property. And one. And hopefully we get our listings page. So this isn't quite right. Some of this is a little bit off, but we can see we have our booking card component and a lot of the other components that we have,
Starting point is 00:10:29 which make this look almost the same as Airbnb, right? Like, it's pretty close. That's amazing. That looks really good. And all those components look very familiar, very consistent Airbnb team. Look at this. We did some work for you.
Starting point is 00:10:46 And I think this solves actually a very big problem for adoption of these tools inside teams, which is teams don't want to look at prototypes that don't look like their own product. And you're showing sort of a third-party product. But obviously, this is something that NAPM or design team can set up for themselves. Yeah, exactly. And I agree on the adoption side. The other thing is just like if you do a decent job, so you put a little bit of effort into those components, these tools. seem to do a good job of stitching them together. So I find that I get many fewer errors because I have this kind of modular structure already. It's already broken down. And really all the code is doing is
Starting point is 00:11:28 stitching them together. And so again, from an onboarding perspective, like it just feels like a kind of a level up in terms of the product itself, the prototyping product. And are there other tools? I mean, this is so fast. So it's hard to, it's hard to complain about the process. But, you know, you showed that you had to do some prompting to continue to generate components. So there are other tools that you use to do this kind of work as V0 your favorite. How do you think about it? Yeah. So there's one of the tool that I am currently in love with, which is magic patterns. And, you know, I did work with this team. I did a little bit of advising with them for for a better month. But, you know, they've been working on this problem for like two and a half years.
Starting point is 00:12:07 They're both, the two founders are both engineers who are very like design forward, are design-centric. Yeah, they built something really special here, I think. So I'm going to show you a demo first, and then I'll show you how it works. So you'll notice that in the bottom right end corner here, it says using chat PRD. I'm going to explain what this is and just a new-oh. But we're going to start by just saying, let's say, I create an AI chat that can help me with my pyrities. Oh, no. There's no moats.
Starting point is 00:12:36 Yeah, potentially, at least not on the design side. So what it's going to do here is follow a very similar. structure to what we just went through. You don't see it, but behind the scenes, there's a bunch of components that I have pre-built in order to kind of very similarly, like inject them into the background here. And I'll highlight specifically in the UI where you see that happening, but it's going to assemble those components and again, add kind of anything else it needs in order to make this work. So you'll see it is actually installing these components from its own kind of repository of code, and then it's creating a new component called chat interface that kind of
Starting point is 00:13:13 wraps everything up together. Were these components created in a similar fashion to what we saw before with screenshots or they can create it in a different way? Yeah, created it in a different way. And I'll say probably like a more convenient way. And I'll definitely show you how to do that. So we'll give this one second to wrap up here. And then we'll be able to hopefully see something similar to chat PRD.
Starting point is 00:13:36 And yeah, I mean, you'll see like the length of kind of how far you can go to make it look like your product is pretty far. I mean, that's generally her. I will say my colors are a little bit more subtle on some of the pieces. But you got it pretty right. Yeah. So there's, I don't know why this picture of this man here, but that's okay. So yeah, just to go over really quick, you can see here, we have a sidebar component.
Starting point is 00:14:04 We have a chat message component, message input, options menu, and so on. So basically all of these predefined UI elements that we want to work with. I'll just highlight really quick. We can just get rid of this by clicking on here and clicking delete, which is a nice little feature. But I love him so much. We're deleting a random icon of a man that has made it into this prototype. Or trying to hear rid of him anyway. He's stubborn, apparently.
Starting point is 00:14:26 But yeah, so this is the gist. And obviously from here we continue as normal in terms of the prototyping. This episode is brought to you by Notion. Notion is now your do-everything AI tool for work. With new AI meeting notes, enterprise search, and research mode, everyone on your team gets a note taker, researcher, dock drafter, brainstormer. Your new AI team is here right where your team already works. I've been a longtime Notion user and having using the new Notion AI features for the last few weeks,
Starting point is 00:15:00 I can't imagine working without them. AI meeting notes are a game changer. The summaries are accurate and extracting action items is super useful. For stand-ups, team meetings, one-on-ones, customer interviews, and yes, podcast prep, Notion's AI meeting notes are now an essential part of my team's workflow. The fastest growing companies, like OpenAI, Ramp, for Sell and Cursor, all use Notion to get more done. Try all of Notion's new AI features for free by signing up with your work email at notion.com slash how I.
Starting point is 00:15:37 AI. So let's talk a little bit about how I actually put this together. The process is relatively straightforward. So let's actually head over to chat PURD and I'll just log in really quick. And, you know, I'm on the home page here. And let's say I want to head over to documents
Starting point is 00:15:54 and I want to kind of take a look at this table here. Maybe I'll do chat so we have some content in it. So what I can do is use the magic patterns Chrome extension. select the UI element, click it, and just pull it out. For those that are listening, I just made my patented scream face on screen because that is quite clever. Yeah. So here's our component. All I have to do is click a convert to component. Throw it into my chat parity library of components. And now it's going to import basically all of that styling and structure and regenerate it as like a proper component. So you can see,
Starting point is 00:16:32 see the prompt here is basically all of the code from your website, the HTML. Yep. And then rebuild it into a real component that can, you know, have data inserted into it because it's a table. And then we can reuse that as much as we want. So that's like the workflow, right? Is go to your website, click the button in the top right corner, start extracting stuff, build out your component library, and then reassemble your Legos however you want.
Starting point is 00:16:56 Yeah, I'm thinking about, you know, how teams are trying to bite this off today, which is they're like pretty please design engineer or front engineer. Can you give me this code or create all these components and put them in a way that my AI can extract them? And no front end engineer wants to go do that work to extract these components, extract the functionality out of them, because I found that's often part of the challenge with importing components into prototyping tools is the components often contain logic that the prototype doesn't.
Starting point is 00:17:26 And you want to like pull all that out. You really just want the styling and visualizing. visualization. And so product managers and designers are left to sort of send for themselves in creating not pixel perfect, but approximate code. And so this is a really interesting flow I haven't ever seen before where you can just browser plug in, copy and select and import some code. And then again, use AI to reassemble it. Yeah, exactly. So we have our component here. We'll go ahead and publish it. And this gets into like another section of maybe a little bit more advanced of like versioning. So let's go back to this prior example here and take a
Starting point is 00:18:04 look at the code. We can actually see that we have these component imports. If we wanted to, we could put more effort into these components, continue to change them over time, and then just click upgrade to latest to get the new component in the old things that we prototyped. So I would argue like the further down this path you start to go, which is turning everything into individual components and managing them that way, kind of like the more leverage you get, right? You can even put someone in charge of making sure that these components are really high visual fidelity. And you don't lose that work. It's not like stuck in one prototype, right?
Starting point is 00:18:36 It's an asset your team can use. Yeah, I heard somebody recently say with more text-based work, they never think about improving the output. They always think about improving the prompt. And this is the kind of prototyping version of it. It's like, don't think about improving the composed application. Actually think about improving the components. and then the composed application can follow downstream from that. So it's a really interesting way to think about what are the primitives of prototypes
Starting point is 00:19:06 and how you can iterate on both the primitive and the composition. Right. And then what we end up with is the state where the prompting doesn't actually matter as much, right? Like we can start to move away from if you say like the right incantation of magic words, you get a great output. And if you don't, you know, it's just a mess because we have these primitives that are getting assembled. And so the AI has less heavy lifting to do because we've done some of that prework. Well, and, you know, we're all good citizens. And I'm sure people aren't out there using this Chrome extension to copy other people's components. And yet, if there is a design system that you really inspires you and you don't know how to recreate it, you know, you want something that looks like this or works like this. it's a new way to kind of clip different UX6 inspiration. And hopefully, I hope people, instead of creating, you know, a carbon copy, create something that is your own, that meets your own user needs,
Starting point is 00:20:07 but that can take inspiration from other sites and interaction patterns. Yeah, exactly. And then, yeah, I just kind of have one last thing to show you. So we talked a lot about components, and I showed you how forking works with the component library over in V0. We have a very similar function here in Magic Patterns. And so we're going to talk a little bit more about like the overall idea of using forks for prototyping. So I'm going to start actually by adding this to a project.
Starting point is 00:20:34 This again is a feature that's somewhat unique. So I'll call this one chat purity, where it basically puts your chat on a visual canvas. And so it makes it easier for you to see more than one chat at the same time. So you can see I have now this chat here. And if I want to hop back into it, I can just click on this little kind of code icon here, a little small. But hop back in there. And so let's say that this isn't quite the best baseline, but let's say that this was my baseline.
Starting point is 00:20:58 I'd put a little bit of effort into it. And like, this is a good representation of the product as it is today. Then what I can do is I can just create a copy, right? And now I've created a copy that has all my components, and I'm not starting from scratch again. So again, we have the visual consistency. I can hop into the copy and I can start to, you know, prompt on top of this one.
Starting point is 00:21:19 So I can say, you know, like implement a functional chat because we're missing there right now. And start from this point. So again, as kind of as a team, where you can have is your set of baseline prototypes, which is a starting point, assembled from your components. And then when you want to prototype anything, it turns out that your prompting goes down to like one or two messages, right? Because you're already starting from such a great place. Well, and for the designers listening, that visual canvas that the prototype was on looks very similar to Figma and that you have this open board. You have a frame that encapsulates the prototype and a little screenshot of the prototype.
Starting point is 00:21:58 And then you really can duplicate not just the screenshot, the actual full chat, full functionality, et cetera, and fork it. You know, create a little branch off of it. Fork it and continue to iterate there. And then I'm presuming you could bop back and see those two different versions side by side. Yeah, exactly. So I'll try to get this working here. will say have the new chat button route to our functional chat. We'll see if we can get something kind of working as a demo.
Starting point is 00:22:30 I'll be exactly right. So at any point in time, we can just head back over to the project. And we're going to have those two options available. And so what I do, and I'll show you in just a minute, is I actually label them. I label the first one as a baseline. And then I label the following ones as like var one, var one, var two, var three with, you know, another kind of description beside it. And so I can say like, okay, for this feature,
Starting point is 00:22:51 that I'm interested in, like here's maybe like one or two ways to explore this feature. And it makes it extremely easy to kind of go down that path of exploration. And again, I think designers in particular are very used to the, I was a designer back in the day, when we did things truly in files, no Figma. And you had like design V1, V2, final, this one, copy final, really this one. So you're just, you're giving me a little throwback to how iterative design used to work back in the day. Yeah, right. So yeah, you can see we have our two side by side. And if I was to hop over in my baseline, I would just label it like that, say baseline. And then, you know, this would be like whatever we want to, so far one and then whatever, let's say, functional chat and so on. And so you can continue this pattern kind of as much as you want, you know, and have whatever sets of baseline prototypes you want to start from. Yeah. And just, you know, maybe a tip for folks coming to some of these AI tools, whether you're a product, management,
Starting point is 00:23:51 manager, designer, engineer. Some concepts you want to think about understanding and building into your workflow are concepts of like checkpoints, versions, and forks. So when you've got something that works, the number one mistake is to keep vibe coding without a checkpoint or a commit or a version. And then it's very hard to wind yourself back to what you like. So anytime you think you found something that you like, make a checkpoint, make a copy, when you want to explore but are sure, where that exploration is going to take you, fork it so you don't break your kind of main thing. And then if you want to share a baseline again, I like this concept of like a baseline chat, a baseline prompt, a baseline prototype that you can share with your team.
Starting point is 00:24:34 And they can iterate and explore without breaking your stuff as well. Yeah, exactly. And it kind of goes back again to that like onboarding experience because I know some people, like they open up bold or VZO the type something in and they just get error after error after error, right? And it's like not the best experience for your team. And so instead you're kind of equipping them to actually be successful with the tool without having to try to figure it out themselves, right? Like it's going to look like the product that you're giving them a set of UI elements that they're familiar with.
Starting point is 00:25:02 And then they ask like, hey, can you add this thing? And it just works. So you've shown us you can replicate Airbnb, very complex, beautiful consumer user experience. You can replicate the impeccable chat PRD at least to some fidelity here. you can iterate, you've taught us what a component is, you know, and this is all coming from you from a product background. From an organization perspective, I have a couple questions for you. You've shown us how to do this technically. How do you pull this off in a team with egos and roles and responsibilities? How do you approach that part? Well, if there's any designers listening,
Starting point is 00:25:39 you'll probably appreciate this. I think it just starts with empathy, to be honest. So I've had this question come up a lot. And usually my recommendation is to not go and prototype like a whole new feature and then hand to your designer and be like, hey, could you clean this up for me? Like, I already, you know, kind of did the work. And usually it starts with like the understanding that these tools can be used by anyone on the team. It can even be used by people outside a product. Like your operations team could prototype something and send it to you like, hey, this is what I thought would be useful for like our internal tool or customer success could use these tools to talk to you a little bit about this customer thought and, you know, do some live prototyping. Like, there's no limit on who's
Starting point is 00:26:16 allowed to have ideas. And then from there, like, kind of bringing the whole team along to make sure that, you know, the designer understands that, you know, this isn't replacing their role. It's basically just a way to communicate internally. Same with engineering. Like, you do have the ability to sync this code, to GitHub if you want. But it's just a starting point. If they want to use it, they can. If it's not useful, then they shouldn't. And so I think it's really more about, like enabling people to do their jobs faster, better, you know, be a little bit more inclusive with the set of people who can actually like communicate their ideas effectively and hopefully just like get to the right outcome earlier on.
Starting point is 00:26:53 And my second question is you are a very structured prototyper here, probably one of the most structured one I've seen. But do you ever let yourself ride the wave of vibe coding and let the components take you where they will. Where do you decide to go with the exact structure and where do you decide to be a little bit more freeform? In the prompting techniques, no, I'm very structured in how I approach it. Like even in cursor, you know, I have my cursor rules, files, and all that stuff. Like, I have everything set up the way that I like and very, like, clean code structures. Because I find that when I don't do it that way, I spend more time debugging than, like, kind of going down the path
Starting point is 00:27:34 that I want to go down. In terms of actual features, definitely, like, from a more more of like a product perspective and less of an implementation perspective, I will go and like test an idea and see if it works. And if it doesn't work, then I kind of give up. So like one idea I had a while back was kind of like a wrapper around prototypes where you could collect analytics data, kind of like a like post hog or amplitude, but specifically for prototypes. And so I built that in cursor. I tried it out. I like tested it with a few folks. It didn't really resonate. And so I threw it away. And so like, that's the way I think I explore more, less so on the actual prompting side. Got it. Okay. So you are, I mean, I can tell you've got your notion workbook of prompts.
Starting point is 00:28:15 You've got your components. You're a man that likes structure. I am very different. I want to just go where the LLM takes me. Ride the wave of the tokens. Generate what we will. Okay. And then my final question, love to ask everybody this. You're structured. So you probably, don't have this problem, but when AI does not listen, when it will not delete this dude off of my prototype, who he's still there sitting on the fake chat purity prototype, what's your prompt tactic? Do you have like a mean prompt in your prompt library that you pull out of your pocket? No, unfortunately not. I'm actually very nice to AI just in case. No, so usually it is like asking it to explain what's happening. So actually, we'll go through a quick example.
Starting point is 00:29:04 here. So this is my most common prompt is explain to me why this is happening, don't run any code. Literally just getting the AI to first tell you what's happening and then secondly implementing a solution I have found is the most effective way to, you know, basically get it to behave. So I'll do that here. I'll kind of click on our friend once again, add into the chat and say, I tried to delete this, but it didn't work. Can you explain why? and then don't code. And again, like, I use this for errors. So if there's an error, I copy paste the error. Say, can you explain what's going on here, going to be code? Any type of, like, literally any type of problem that I come up against. This is the same pattern that I use.
Starting point is 00:29:48 And I think it makes sense because, like, we know that the planning step is important. Like, when you're prompting, it's kind of just continuing that pattern while you're talking, right? So making sure you have a plan while you're, you know, making your changes. Yeah, I use a very similar prompt when, dealing with errors where I say, explain why this error is happening and give me your top three hypotheses on why in priority order. And don't code. I also say end don't code. These AI agents are very eager to write code. So you have to often instruct it not to. That's a, that's a really great prompting technique. So again, you probably, your response to it not listening
Starting point is 00:30:26 is another well-structured, well-fled. Yeah, that's right. Well, Colin, this has been very fun, super useful. I'm going to take this into my team and we're going to go build out a big component library that we can use to prototype. So where can our listeners find us and how can we be helpful to you? Yeah. So a couple of places. One, I am teaching on Maven. So if you want to take a course on this topic, I kind of go through all the tips and tricks on this as well as getting a little bit more technical. I think that's one of the things that differentiates folks and their skill here is actually be able to communicate to the LLM effectively, which requires a little bit of technical knowledge. So that's the course over on Maven, AI prototyping for PMS.
Starting point is 00:31:06 And then recently I've actually kind of stood up offering directly for teams that want to start going down this path. So over at teams.com, I have like a one-day, six-hour course. You can bring your whole team and then you'll end up with those assets that we talked about. So you'll leave kind of with a good idea about who's doing what, the component libraries, and then your baseline prototypes kind of hit the ground running. So yeah, and then finally, you know, LinkedIn substack if you were just looking for more casual stuff.
Starting point is 00:31:34 Great. Well, Colin, thanks for showing all this. It's awesome. Yeah, no problem. Happy to be here. Thanks so much for watching. If you enjoyed this show, please like and subscribe here on YouTube or even better, leave us a comment with your thoughts. 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 how IAIIPod.com. See you next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.