Pod Insights How I AI The secret to better AI prototypes: Why Tinder’s CPO starts with JSON, not design | Ravi Mehta (product advisor, previously EIR at Reforge) The secret to better AI prototypes: Why Tinder’s CPO starts with JSON, not design | Ravi Mehta (product advisor, previously EIR at Reforge) How I AI
Hosted by Claire Vo
Original podcast
About this episode Ravi Mehta, now a product advisor, has built and scaled products used by millions. His past roles include Chief Product Officer at Tinder, Entrepreneur in Residence at Reforge, and senior product leadership positions at Facebook, TripAdvisor, and Xbox. In this episode, Ravi demonstrates his data-driven approach to AI prototyping that produces dramatically better results than traditional "vibe prototyping." He also shares his structured framework for generating professional-quality images in Midjourney that look like they were shot by a professional photographer.
What you’ll learn:
Why most product managers and designers are “vibe prototyping” with AI and getting mediocre resultsHow to use JSON data models instead of design systems as the foundation for better AI prototypesA simple three-part framework for structuring Midjourney prompts to get professional-quality photosHow to use Claude and Unsplash’s MCP server to generate realistic data and images for your prototypesWhy real data (not Lorem Ipsum) is critical for getting meaningful feedback from stakeholdersThe film stock “cheat code” that instantly elevates your AI-generated photos—
Brought to you by:
Google Gemini https://ai.dev/—Your everyday AI assistant
Persona https://withpersona.com/lp/howiai—Trusted identity verification for any use case
—
Where to find Ravi Mehta:
Website: https://www.ravi-mehta.com/
Reforge: https://www.reforge.com/profiles/ravi-mehta
LinkedIn: https://www.linkedin.com/in/ravimehta/
X: https://x.com/ravi_mehta
—
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 Ravi and data-driven prototyping
(02:31) The problem with “vibe prototyping” in product development
(04:18) Spec-driven prototyping vs. data-driven prototyping
(05:27) Demo: Spec-driven approach to prototyping
(08:26) Limitations of the basic AI prototype approach
(11:24) The data-driven prototyping approach explained
(12:08) Demo: Data-driven prototyping
(17:45) Creating a prototype with the generated JSON data
(23:33) Comparing the quality difference between approaches
(26:44) Modifying the prototype
(28:53) Benefits of this approach
(34:40) Structured Midjourney prompting
(36:20) The subject-setting-style framework for better image prompts
(44:27) Using camera metadata to refine your results
(48:54) Lightning round and final thoughts
—
Tools referenced:
• Claude: https://claude.ai/
• Reforge Build: https://www.reforge.com/build
• Midjourney: https://www.midjourney.com/
• Unsplash MCP: https://github.com/okooo5km/unsplash-mcp-server-go?utm_source=chatgpt.com
—
Other references:
• Reforge AI Strategy Course: https://www.reforge.com/courses/ai-strategy
—
Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email [email protected] .
Transcript 10,090 words · 3 speakers
Speaker names marked ? are inferred from speaking time and the show’s known hosts — they are not voice-verified.
0:00 Claire Vo? PMs and designers are prompting prototyping systems that they don't quite understand how to get the best outcomes from. I'm always impressed that a prototype gets generated, but sometimes it's just like not quite what I need for the product I'm building or the experience I'm trying to craft. And so I know you have come up with this system called data-driven prototyping, which you're going to show us.
0:20 Speaker 01 The thing that we can do is we can help the LLM by starting to separate out the idea of not just generating the UI, but also by helping it with the data. So I've got a prompt here. It says, "Using JSON, because we want it to be structured data, generate a sample itinerary that I can use to prototype a shared trip itinerary feature. The destination is Paris."
0:37 Claire Vo? I just think about the human parallel to this, which is searching through stock photos, trying to find which one is representative. It just takes so much time. And because an MCP now can programmatically go through the tasks to be done using these external tools, it just makes it a lot faster to get higher quality media into your prototypes.
0:54 Speaker 01 So this is the finished prototype based on that prompt. We can see it generated 22 different files. So really nice componentization. It's got a little bit of sample data in there, and it generated mock data. So we can see what day one looks like. We've got some photos in there. We can see what day two looks like.
1:10 Claire Vo? This will be you teaching me how to actually bring some data and structure to my vibe designing and prototyping. This is genius. I'm really excited.
1:22 Claire Vo? Welcome back to How I AI. I'm Claire, product leader and AI obsessive here on a mission to help you build better with these new tools. Today, I am giving you elite prompting strategies from Ravi Mehta, who was CPO at Tinder and a product leader at places like Facebook and TripAdvisor. Ravi is going to show us how design systems and UX descriptions are not the foundation of great prototyping. In fact, JSON and data models should be. He'll also walk us through how to use structured prompting in Midjourney to get high-quality photos and images for your prototypes. Let's get to it.
2:01 Speaker 02 This podcast is supported by Google. Hey, everyone. Shreeta here from Google DeepMind. The Gemini 2.5 family of models is now generally available. 2.5 Pro, our most advanced model, is great for reasoning over complex tasks. 2.5 Flash finds the sweet spot between performance and price. And 2.5 Flashlight is ideal for low latency, high volume tasks. Start building in Google AI Studio at ai.dev.
2:31 Claire Vo? Hey, Ravi. Thanks for coming on How I AI. I'm excited to see some of these workflows that are going to be really useful for me.
2:37 Speaker 01 Thanks so much for having me. I'm excited to go through it, too. I've been having a ton of fun playing with these things.
2:42 Claire Vo? Yeah, so we've seen a lot of engineers lean into Vibe coding and some of the pros and cons of that. And what I am also seeing, which I think you are probably seeing, is product managers and designers doing like Vibe prototyping, where, you know, if we're saying people are writing code they don't understand, I might argue that PMs and designers are prompting prototyping systems that they don't quite understand how to get the best outcomes from. And I think these are such cool tools for product managers and designers and other folks to get their ideas across. But a lot of times, I've been personally dissatisfied with the outcomes of my prototypes. I'm always impressed that a prototype gets generated,
3:25 Claire Vo? but sometimes it's just like not quite what I need for the product I'm building or the experience I'm trying to craft. And so I know you have come up with this system called data-driven prototyping, which you're going to show us. That's going to help us close that gap between using sort of like Vibe-based prompting into these prototyping tools into something a little bit more structured that you think gets better quality.
3:49 Speaker 01 Yeah, absolutely. And I've been playing a lot with prototyping, both for people that are doing zero to one as well as people that are using prototyping to understand established products. And when you're using prototyping to understand and to advance established products, the game is a little bit different because you have existing UI that you have to adhere to. And then you have existing data and functionality that you have to. adhere to. And oftentimes, the thing that's really important is how do you provide the right context to the vibe coding tool. And I think that there's two common ways that people do that. The first is like spec driven prototyping, where you write a really detailed prompt, you try to make that as specific as possible to give the tool enough context to create the
4:32 Speaker 01 thing that you need. The other way that people create prototypes is with design driven prototyping, where you actually start with images, it might start with wireframes, you might start with figma designs, you upload them in, and then the prototyping tool takes those and they bring those to life. But it occurred to me when we're building products, a common thing in the product lifecycle between design and specification is when engineering starts to take a look at what you want to build, one of the first things that they do is they say, here's the data schema that's actually going to drive the front end. And by doing that, they take some of the things that are a little bit ambiguous around designs or specs, and they codify them in a really concrete way. And so I started to play around with, can you do that from a prototyping standpoint? And I want
5:13 Speaker 01 to show how you can use this technique to create prototypes that are a lot more functional, and then a lot more flexible, so that you can change them to test different data sets for different purposes, so you can get really good, accurate user feedback. So why don't we start? We'll take a look at how someone might typically use more of a spec driven type of approach to prototyping. I'm using Reforged Build, which is a new prototyping tool specifically designed for product teams that are working with established products. It's been really good. I think one of the things I've noticed about it is it just generates very clean code that's much more usable in terms of taking things into production. So here, I've got a short prompt. So make a website
5:56 Speaker 01 for planning a Paris trip with multiple people, include some activities, hotels, and restaurants over three days, add user profiles and let people comment on things, make it look nice. So I was thinking about, when I was at TripAdvisor, we wanted to create a trip itinerary planning feature, but what we figured out as we were doing the spec for that is trip planning is often a multiplayer activity, not a single player activity. So we wanted to understand, like, how do you create a trip itinerary feature that is really multiplayer from the start? And I thought, you know, prototyping is a great way to explore that idea. So here's how you might typically start to build a prototype around that idea and explore it.
6:32 Claire Vo? Yeah, and I have to say, "Make it look nice" is a commonly used Clairvaux prompt when going into these AI tools, like "make it good", very sophisticated prompting techniques. So I think this is ripped from the headlines, sort of vibe prototyping prompting right here.
6:50 Speaker 01 It's funny because it does work. I find that AI is often very responsive to a little bit of pushing and prodding.
6:55 Claire Vo? Yeah, okay, great. So you're using this sort of very common experience-based description of what you want to see, right? Very functional, it's a website, it has a certain set of pieces of data in it, there's user profiles and people can comment, like very functionally descriptive.
7:15 Speaker 01 Definitely. And so what's pretty amazing is that this will work. It's not a lot of context, but if I hit create, we'll go in and the tool will create a plan. The Reforged Build Tool does a really nice job of asking you some follow-up questions. And you're actually asking them to do multiple things all at the same time. You're asking them to think about the UX design. You're asking them to think about the underlying data structure. You're asking them to figure out the code architecture. So there's a lot that needs to be done. And at the end of the day, it's capable of doing it, but because you're asking it to do so many different things, the output is kind of an average across those things,
8:00 Speaker 01 rather than really spiking each of those areas, which you want it to be. As a product team, you have someone who's great at design. You have someone who's great at product. You have someone who's great at engineering, thinking about all of those things. One of the things that I like a lot about the Reforged Tool is it asks you follow-up questions to help make your prompt better, which is important for making sure that the system has as much context as it needs. I'll just skip that for now. So it gets into the code generation. And right now, it's going in and it's starting to write the code, starting to come up with a componentized plan. So it's going to use reusable UI primitives. It knows sort of overall what it's trying to do, which is create a full prototype with mock in-memory state. And so it's actually doing the work to say, okay, We need a data model here.
8:44 Speaker 01 And as part of doing this, it will create that underlying data model as well. And you can see here, it's creating a file. It's called lib mock dot T S. But at the end of the day, because it's trying to do so many different things at once, the end result typically is not as high quality as the approach that I'm going to show. So let me actually cut over to this particular prompt. So make a website for planning a Paris trip already built. So we can kind of see what that looks like.
9:12 Claire Vo? Great. And one of the things that I want to reflect on while you're pulling that up is I think the exposure of the reasoning is really interesting because I was reflecting on your prompt. And I was like, what if I slacked this to a designer? We're like, make a website with a three day itinerary for Paris with multiple people in comments. I would get, I probably wouldn't even get back a list of questions. I would get, yeah, find time on my calendar so we can talk about this.
9:36 Speaker 01 Totally.
9:37 Claire Vo? And it's so funny that you can do that iterative process of taking a very high level idea, actually getting back some structured questions to help the sort of design side be, and the product side be fleshed out. And then it can go into, okay, what would an engineer think about implementing this? And like two or three responses. And so I just, I reflect on it as a accelerated version of the product development process we all know and love. And it's just so interesting that it follows almost the same pattern, but much, much faster, much more efficient.
10:13 Speaker 01 I mean, it's pretty amazing with that little context that you can get to what we have here. But we can definitely do, do better. So this is the finished prototype based on that prompt. We can see it generated 22 different files. So really nice componentization. It's got a little bit of sample data in there and it generated mock data. So we can see what day one looks like. We've got some photos in there. We can see what day two looks like. But it's also got some problems. So for example, Send River Cruise, it tried to get a photo, but now that's failing. And that is actually a hallucination problem. A lot of times when these tools are trying to create media, they do know some URLs that are out there, but they'll hallucinate other URLs and then you'll get broken links like this.
10:55 Claire Vo? I want to call out another one on day one. If you go to day one, this looks like a hotel in French Polynesia, but not in Paris.
11:03 Speaker 01 Yeah, it's a really good point. Yeah, this is definitely not the right photo. I hadn't even noticed that.
11:08 Claire Vo? Yeah. So I'm like, that, I mean, I want to go there. It looks like a great hotel, but it does not look like a Parisian, Parisian hotel.
11:15 Speaker 01 This is also not the best photo of the Eiffel Tower.
11:18 Claire Vo? No, I mean, it is the, one of the more important parts of the Eiffel Tower.
11:21 Speaker 01 It is an important part, yes.
11:24 Claire Vo? Okay, so we're, we're looking at this, it's, I mean, in 30 seconds, very impressive, right? As I said, like, we're impressed that these prototypes can be generated at all. And what I think you're calling out is it's good, not great. Like, if a designer brought this to you, you'd be like, hmm, let's, let's just go back to the, to the Figma board and, and try something else.
11:48 Speaker 01 Absolutely. And it's going to take a lot of back and forth to get it to the level that you want. But the thing that we can do is we can help the LLM by starting to separate out the idea of not just generating the UI, but also by helping it with the data. And so the idea behind this approach is that rather than starting with a prompt like we have here, let's start with a data set. And so I'll go over to Claude and I'll ask it to generate some data. So I've got a prompt here. It says, using JSON, because we want it to be structured data, generate a sample itinerary that I can use to prototype a shared trip itinerary feature. The destination is Paris. The itinerary should include an itinerary name, cover photo, and date range covering three days. There should be three to four travelers associated with the itinerary.
12:33 Speaker 01 Each traveler should include a first name, last name, avatar photo, and preferred travel style like foodie or history buff. For each day, include a collection of things to see on that day. There should be 12 to 15 items in total. The items Should be a hotel for day one. Popular things to see on each subsequent day. Each item should include a name, a start time, a duration, a star rating, number of reviews, tags to describe them, a photo and a short description. Some items should have notes for one or more travelers. The notes should be in chronological order and respond to each other like a message thread for each itinerary item. And so here we have like essentially a data schema specification. And it's a lot more detailed than what we put in upfront.
13:17 Speaker 01 So we're cheating a little bit, but oftentimes teams that are working on existing products will already know what their data schema is. And so you'll have a head start, not just with the schema, but also with the data.
13:28 Claire Vo? Well, and I'll also say that the cheat code here, even though you're really are describing a pretty detailed data schema, you're not talking about relationships. You're not talking about, you know, parent-child relationship, foreign keys, none of that stuff. You're really just describing the components of the data structure in natural language, which probably took you a minute or two to type out, or if you're using voice, you know, even less than that. And so it does allow you to get a lot more detail that will eventually be more structured without having to force yourself to write a data model.
14:01 Speaker 01 Absolutely. And this is a nice way to kind of think about the feature, like what are the key things I'd want to see in the itinerary? What are some of the key things about the travelers? And so just thinking about it from a data first perspective helped me understand the feature a little bit better. Another really important part of the data is media. So avatar photos and photos that are, you know, actually of the Eiffel Tower, actually of the hotel that you're planning to stay at. And so for this particular prompt, I've added in the Unsplash MCP server. And so MCP servers are a great way for Claude to be able to access external services. The Unsplash MCP server can take in a particular query like Eiffel Tower or a particular hotel
14:42 Speaker 01 name and then pass back a photo that matches that query so that when we generate the mock data, we're actually getting real URLs from Unsplash. And so if I go in here, I look at my tools. One of the tools that's active here is the Unsplash MCP server. It's pretty easy to install. There's a tool called Smithery, which makes it easy to get up and running. And this was a key unlock for me. It's like, how do you actually pull in actual photo data versus some of the hallucinated URLs that you'll often get?
15:09 Claire Vo? Or do what I do, which is go sit on the Unsplash site and search through and find ones that I like and all that kind of stuff. So I did not know this MCP existed and it will definitely shortcut a lot of my kind of prototyping workflows. So I'm excited to see how this works. Okay, so you've created this prompt. I must call out for the the the power users of Claude. I bet you could create a Claude project to create prompts like this for data models. So there's probably a whole meta cycle you can do here to make even this a little bit more efficient. But let's show what this this generates. So you put this into Claude, you connect the MCP and then you generate something?
15:49 Speaker 01 Yeah, absolutely. So let's start it up.
15:51 Claire Vo? Okay. And is there any reason you chose Claude over any other tool? Any particular affection for the model, the app, any of that stuff? Or just it's the one you reach for?
16:04 Speaker 01 I do love Claude. I find it's pretty consistent. I use ChatGPT and Claude. Sort of a 50 50 split during the day, but anytime I want to generate data that feels like human and authentic, I find myself going to Claude. And I wanted to go to Claude here because particularly because of the conversations between the travelers, I thought Claude would do a nicer job generating those.
16:27 Claire Vo? Great. And what I want to call out here for folks that are maybe not watching on video and are listening is Claude is starting to generate this comprehensive JSON and then calling the search photo tools in the Unsplash MCP over and over again to generate a Paris cover photo, avatar photos, attractions, I'm sure hotels and restaurants. And so it's super, I just think about, again, I think about the human parallel to this, which is searching through stock photos, trying to find which one is representative. It just takes so much time. And because an MCP now can like programmatically go through the tasks to be done using these external tools, it just makes it a lot faster to get higher quality media into your prototypes.
17:12 Speaker 01 Absolutely. And, you know, this will take a long time. You know, it's interesting with AI. I think certain things are moving a lot faster with AI. Other things aren't. You know, it's much faster for me to create a document these days than it is to create a presentation in a lot of cases. And here, just manually going through the photos is really challenging. But it went, it got all those photos, and now it's generating the JSON. So it's taken that natural language prompt that we had, said, okay, here's the data schema, and I'm going to fill out the data schema with pretty authentic information.
17:45 Claire Vo? And I want to do a callback to your first prototype, which is, I'm sure this or a version of this is what's populating your first prototype. But it was one, as you said, one of many jobs that the prototyping tool had to do. It not only had to think through user experience, technical implementation, writing the code, it also had to go, okay, and what data goes into this code and what images? And I do think the idea of taking sort of critical parts of that workflow and giving a dedicated sort of prompt and tool to those critical parts and taking that job off the sort of general building can ultimately end up in higher quality, or at least I'm guessing that's our hypothesis here.
18:27 Speaker 01 I think so, and I think that's the fundamental concept behind agents, is you want individual agents with individual contexts working together in sequence to get to an output, rather than trying to do it all in one go. And here Claude has done a really good, really nice job with this prompt. We now have an incredibly detailed dataset. We've got the travelers that are here, the messages that they're sharing back and forth, the items that they want to see, like Mamar, the type of item. It's tagged with different relevant tags that are fun and interesting. There's URLs for images. And now we have actually a much more detailed spec in the form of data for this trip itinerary platform.
19:09 Speaker 01 And so now we can actually just copy this JSON, go back to our build tool, and now our prompt doesn't even need to be very detailed. And so we could do something like, generate a trip itinerary feature based on the sample data below, paste it in. So we have all that sample data here.
19:28 Speaker 01 And then hit create. And now there's a ton of really interesting, very specific context that's available to the prototype. And what I found was interesting about this approach is when you provide data in this way, the AI doesn't get fuzzy with it. Actually, we'll just take the data and use it as is and then build the rest of the experience around the data.
19:50 Claire Vo? You just gave me an idea. So this is an impromptu how I AI idea, but there are so many SQL generation and data schema exploration MCPs. And I was just thinking, as I'm prototyping apps, I should just hit our production database and come up with sample, like example JSON that represents actually the real data that somebody would, you know, use in some of our features and then use some of that to prototype it. And so there is, you know, we're showing a completely fictionalized set of data, but you could, I could imagine a world in which you can actually pull a representative set
20:31 Claire Vo? from your production data or production-like data to really give your prototypes a real feel for how your users are using them. And as a product leader, I've done this a lot in, in product and design reviews where I say, yeah, but what happens when the user's profile is, you know, a thousand words long? Or what happens when the Eiffel Tower photo is vertical and we crop it horizontal, like how we thought about all these things? And actually putting that real data in helps you stress test the user experience in a way that I think is really important, where designers are never going to put a vertically inappropriately cropped photo in their beautiful schema designs. You're never going to get that like accidental, broken experience, but AI will do it for
21:16 Claire Vo? you and help you, help you test some stuff.
21:20 Speaker 01 This is really true for UGC experiences, right? Because the content that users provide is never as beautiful as what we put into Figma. It's nice to see how it's actually going to look to users. The other interesting thing is like, if you have a set of data that you can pull out, but you want to augment it in some way. So let's say we had a trip retainer, but we didn't necessarily have conversations. You could throw that JSON into Claude and say to Claude, augment this JSON with information about the travelers and their conversations. And it'll go in, it'll start with the JSON that you have, and it'll flow in the data that you need. And so you can iterate on the data that you already have to get to something that you need for your prototype.
21:57 Claire Vo? Well, and I'm not going to presume your age. We're both 21 years old, but this is also making me think back to how much lormipsum I put in mockups for very young people. You used to have to like put placeholder text and placeholder images in your designs. And there was actually a cottage industry of like funny lormipsum generators on the internet, where you could like copy and paste paragraphs of code or of text. And I'm just thinking, just the fact that you could put pseudo-realistic content at scale in your designs. I even think about going past fake data. I've seen so many designs where designers just like grab the component and duplicate it down the page.
22:40 Claire Vo? So it looks all the same and the number of comments are the same and all that kind of stuff. And I do think it's really helpful to be able to generate this sort of like full surface area of the data model and the design experience without so much manual burden on a designer, a content designer, a product manager, an engineer, trying to figure out what goes in each component and what are the versions of each of those components.
23:07 Speaker 01 Absolutely. And it's one of these things where it works much better with stakeholders and with users if you have authentic data. I think as product builders, we're used to thinking about data separately from the UX. And sometimes we just gloss it over, but users never do. And so as a result, they do. They do need to kind of have something that looks and feels as it actually will be in order for you to get realistic feedback.
23:31 Claire Vo? Okay, we got a, we got a prototype.
23:33 Speaker 01 Yeah, so we got a prototype. Much cleaner than the other prototype. We have a list of all of the travelers. We have what's happening on each of the days. We have beautiful photos for the different things in the itinerary. So I could click on day two, day three.
23:52 Claire Vo? Oh, look, we got a full Eiffel Tower.
23:58 Speaker 01 We've got, absolutely, and it's a beautiful shot, right? It's pulling the stuff off on Splash and it's working on pulling out their most popular images. So they look really good. Which is especially important when you're prototyping for a consumer because people are very sensitive to this.
24:13 Speaker 01 We've got tags, we've got comments, avatar photos. So all of this feels much richer than, than it does if you just have it generate both the data and the functionality at the same time.
24:27 Claire Vo? Yeah, this is, I mean, you know, we're doing a before and after comparison, but this is just a lot richer. It's a lot more, it's the accuracy of the data significantly improves the perceived quality of the design. I, I mean, honestly, you know, there are some components of this that are similar of the old design, not exactly. But it's really interesting to see how just having the right photo, the Eiffel Tower, the right data, some of these like metadata components, like how long it might take for you to spend time at an attraction. Accurate avatars, which I like. I think the old avatars were just little initials avatars, but these are actually like real people. They're friends. Emma, Oliver and Marcus are apparently going on this trip.
25:12 Claire Vo? It really, it really does look like a much higher quality experience here.
25:17 Speaker 01 And we could take a look at the, the before. Let's see. And yeah, you know, this is a good start, but it's not sort of the level of quality that we want and that we need.
25:30 Claire Vo? Yeah, and it almost is a lot cleaner, too. I was noticing in the old prototype, there's like a lot of little emojis and things that are filled in here and there that you, as a product person or designer, might not want in. But when you say like, here's my clean data schema, here's the media I want and the media I don't want, it gives you sort of a much more modern look and feel to this experience.
25:54 Speaker 01 And I think that's because of the separation of concerns. The tool has been able to focus on what is the right UX around this data set rather than simultaneously figuring out the UX, simultaneously figuring out the data set.
26:04 Claire Vo? Yeah, what I want to call out is so many people that I've spoken to are really worried about getting design systems into these prototyping tools, but have really under-invested in what you're showing, which is like the data models. And I was actually talking to somebody yesterday and they said, what context do I need to make sure I always give my PRDs and my prototyping tools to generate? And I said, get your engineering to give your definition of your data schema and just copy and paste that in. That is like one of the first things I think you should do because it's the right level of constraints around the experience. And you're just showing sort of the next level of this, which is populating that, extending it, and then putting it into a prototyping tool.
26:44 Speaker 01 And then what's really nice about this, and we just generated on the fly, so I'm going to have to see where the code is. But if we go into the files, we have a nice breakdown. And if we go into lib, which is often where the data ends up, we have a sample data file. And so we can go in and we can change this. Let's say, you know, actually, we want Marcus to be called Mark rather than Marcus. We can go in here, let me see where Marcus is. Change his name to Mark, just need to reload.
27:17 Claire Vo? Ah, there we go, Mark.
27:18 Speaker 01 Changed Mark. Same thing with the photo, like, you know, this is kind of a good Paris photo, but we can probably find something better from Unsplash, so let's just search for Paris. This one's a great one. Copy the image address, come back here. If we look, we've got the cover photo. We can just replace that. And then again, reload.
27:41 Claire Vo? Oh.
27:42 Speaker 01 New photo.
27:43 Claire Vo? It looks so nice.
27:45 Speaker 01 It does look really nice. It's coming together.
27:47 Claire Vo? This episode is brought to you by Persona, the B2B identity platform helping product, fraud, and trust and safety teams protect what they're building in an AI-first world. In 2024, bot traffic officially surpassed human activity online. And with AI agents projected to drive nearly 90% of all traffic by the end of the decade, it's clear that most of the internet won't be human for much longer. That's why trust and safety matters more than ever. Whether you're building a next-gen AI product or launching a new digital platform, Persona helps ensure it's real humans, not bots or bad actors, accessing your tools. With Persona's building blocks, you can verify users, fight fraud, and meet compliance requirements, all through identity flows tailored
28:32 Claire Vo? to your product and risk needs. You may have already seen Persona in action if you've verified your LinkedIn profile or signed up for an Etsy account. It powers identity for the internet's most trusted platforms, and now it can power yours, too. Visit withpersona.com/HowIAI to learn more. You're replacing these sort of piecemeal, but if you wanted to stamp out a bunch of different versions of this completely, you're working with just the data file, right?
29:04 Speaker 01 Yeah, so we can actually just go back into Claude. And now we can just say something like, now generate an itinerary for the same travelers going to Thailand.
29:14 Claire Vo? Yep.
29:16 Speaker 01 So I'll hit that. This chat already has all the context. It knows what the schema is. It's going to go back out to Unsplash to grab all those photos. And it's going to generate a new itinerary. Same people, different trip. And then, once we have that JSON file, we can actually take that and apply it directly to the prototype.
29:40 Claire Vo? I was just thinking about, again, going back to when we had to like walk uphill both ways in Photoshop for our designs. Like, the speed at which you can create versions of your design is really helpful. And, you know, one of the things that I'm thinking about here is, great, go ahead and localize this in Spanish, or go ahead and localize this in another language. Let me see what that looks like. Or even when you want to extend the design, going back to, and maybe this is just my engineering brain likes this, go back to, well, let's update the data model first and then let the design cascade out of the data model as opposed to putting buttons on the front end and then working our way back into the data model.
30:24 Claire Vo? I think it's just a really nice primitive on which to standardize your prototyping efforts.
30:32 Speaker 01 Absolutely. And then it allows you to be much more flexible in terms of what you're doing. And it allows you to work on the functionality separate from the data model. So, for example, here, let's say I wanted to add a feature where, you know, I want to be able to see blank cards if people have time in between activities. So we can kind of see where the free time is in the day. It'll go in and it'll implement this functionality using that data set. So if we want to put a new data set in here or change anything, the functionality is totally dynamic rather than baked into the prototype, which it often is.
31:06 Claire Vo? Awesome. I really like this. And, you know, again, we're looking at the data modeling, the design of things, but I'd be remiss not to mention how helpful it is. To have the content researcher, especially on a consumer experience of what hotel should I put in, what attractions should I put in, what do they actually look like? And maybe, maybe your designer's been to Paris, maybe they have not. And you certainly don't want them spending time Googling like the, the top, you know, hotels in Paris for people in their twenties and thirties. This does, in addition to doing the scaffolding, it actually does the right research on the content and what to put in here and feels pretty realistic.
31:44 Speaker 01 And you might actually have two different itineraries. One for, you know, someone old, who's older, who's going to Paris for their third or fourth time, someone who's younger, who's going to Paris for their first time. And then you could test this feature with itineraries that really makes sense for the user who's using the tool. So now we have the free time cards added in. We've got four hours, four and a half hours between checking into our hotel and our dinner. We can look at day two and see that we've got a couple of other time blocks in here. So now Claude is completely done generating our Thailand itinerary. And so we can actually just swap out the itinerary. If we go into the code, we could see, okay, we've got the data here.
32:27 Speaker 01 Let me copy that over. And then I could just replace this and then reload. And now we have a Thailand trip.
32:37 Claire Vo? That was thrilling to watch.
32:39 Speaker 01 All super easy.
32:42 Claire Vo? And those free time blocks stayed. We have great photos here. Sophia and Emma, I bet he's named Marcus though, because we made that edit in a different tool, so.
32:54 Speaker 01 I think so, yeah. If we were, we look, we, we overwrote that, but that's easy enough to change.
32:58 Claire Vo? Yeah, that's easy to change.
32:59 Speaker 01 We can go back here and update it.
33:01 Claire Vo? This is awesome. Okay, so to recap for folks, instead of just prompting into your prototyping tool, you can use your favorite general LLM tool, in this instance Claude, to actually generate a JSON schema of the data that you want to represent in your experience. Go into your prompting tool. Your prototyping tools say, generate a user experience based on this data, paste the data in, then use that data schema as the basis for iterations and updates, and then even swap out that data schema with entirely new content and watch how your experience adapts to new content, or show that to different user segments, or just really impress your boss.
33:46 Speaker 01 Yeah, absolutely.
33:48 Claire Vo? You've completely changed. I think this is going to be just as popular as Ryan Carson. He just clear how to appropriately vibe code. This will be you teaching me how to actually bring some data and structure to my vibe designing and prototyping. This is genius. I'm really excited. I know you're working on a blog post. If it's out, we'll link to it. But this is, this is great. And again, one of the things I want to call out, I am just a really lucky B2B enterprise girl. We just work with like form fields and buttons. Like the fanciest I get is like my button has a gradient in it. But you, with your, your consumer product background, get to work a lot with media.
34:30 Claire Vo? And one of the things that we're looking at here is the media aspect of it, the photos really do make the experience.
34:37 Speaker 01 It does, absolutely.
34:39 Claire Vo? Yeah, we use the Unsplash MCP to get these real kind of like free stock images here into your prototypes. But I know you've also been working on generating great photos yourself. So you want to show us a little bit about how to use Midjourney again, unlike how Claire does it, which is just like float in the Midjourney model till something cool comes out with a little bit more structure than that?
35:02 Speaker 01 Yeah, let's do it. So I was playing around with Midjourney a lot, trying to get mock data for a project I was working on. And I was working with a designer named Finn Sturdy, who has done just a brilliant job of kind of figuring out how to get stellar results out of Midjourney that feel really curated and feel like a creator-director has helped to design them. And as we looked at like how he was prompting things, we discovered a few things about how you can use really specific wording within your prompts to elevate the images. So let's just start out with like a very simple, simple prompt. And I think what's great about these tools is even if You're not very descriptive. You're still going to get pretty good results.
35:47 Speaker 01 I mean, you could see the content on Mid Journey is already beautiful, no matter what you're looking at.
35:51 Claire Vo? Yeah.
35:52 Speaker 01 But let's say we want to just have a stock image of an office chair. You might just type in "office chair." I know you're probably going to type in more than that, but let's see what it generates.
36:02 Speaker 01 So it's going to go through. It's going to look at references. These are still pretty nice office chairs.
36:08 Speaker 01 The photo is nice.
36:12 Speaker 01 But is it really usable? Like, is it the sort of thing that you would drop into a catalog or something like that? It probably isn't there yet. And the way that we can get to a much better end result is to think about three things: the subject, the setting, and the style. So I'll use a new prompt. This will actually generate much better results. We're very clear about the subject that we want, which is an empty stylish office chair, and then really clear about the setting. And the setting includes both the placement in the room and the lighting. Lighting is a really key part of setting that photographers think a lot about. And if you talk about the lighting in the prompt, you're going to get much better results.
36:56 Speaker 01 And then the last thing we want is a particular style. And there's a couple of things that can help with defining style. The sort of thing that a lot of people do is they try to describe it, but that's generally not how photos are tagged. And so the idea here is to think about, well, how would a photographer actually describe a particular photo? And they might use cultural references or location references. And then oftentimes, they'll use camera metadata or other information about the shoot. And so in this particular case, we've added in a keyword for the film stock that we want to emulate: Fuji Color C200, which is a very warm film stock that generates really beautiful, kind of like golden hour type of results.
37:41 Speaker 01 So I've started that generation. And now we're going to get something much more usable than the initial prompt.
37:49 Claire Vo? Yeah, and as somebody who was a early Midjourney user, I think Midjourney is like the gateway drug to consumer AI. If you have like a parent that has not yet bought into AI or does not understand what it can do, get them in Midjourney. You're gonna get some weird Facebook posts, but they're gonna, they're gonna be unlocked on something really, really special. But what I would say is, I'm shocked at how fast it's gotten. It used to be so chavisely slow and it's fast now. Okay, we got a pretty, I mean, I want that to be my office. Who cares about the chair?
38:24 Speaker 01 So beautiful. We've got the Italian kind of cultural cues. We've got the beautiful lighting. It's a great chair. This is definitely usable photo. We've also, you know, I think one of the things Midjourney sells at is giving you these different variations. So here's another one, another one, another one. All really beautiful and very usable if that's something that you're looking, looking for. And what was key here is thinking about the prompt in terms of how a photographer might describe things rather than telling the AI what you want. So for example, you know, we could change the setting and a photographer is probably not gonna say, I want really soft lighting. Instead, they're gonna describe the setting, which is an autumn raining morning.
39:09 Speaker 01 So we're gonna take this exact same scene and move it into a different lighting setting, which will change the mood quite a bit.
39:18 Claire Vo? And as one of the, the four people in technology that have a liberal arts degree, I have to call out, I do think this moment where we're using natural language to generate assets across the board, especially media assets, art literacy is really important. The ability to describe design is really important. I don't think people spend enough time articulating what taste means, articulating what elegance means, what quality, what style means. And even going through this practice of understanding reference art styles, reference, you know, devices like digital cameras or film, locations.
40:00 Claire Vo? I, I think like a language is now such a foundation for technology that if you're not investing in your linguistic skills, you're gonna miss out on your ability to create these like high quality assets, at least at this point.
40:14 Speaker 01 I totally agree. And I think the two fundamental inputs into creating something are taste and craft. And so taste is the ability to know what's good or what you want. Craft is the ability to actually achieve that vision. And with AI, it's completely 10x to everyone in terms of the craft. Anyone now can create photos or music or other things, but the taste is really important. How do we take that incredible power and use it to create something that meets the needs that we have, whether creatively or professionally?
40:43 Claire Vo? Yeah. And if you don't feel like you have the natural skills to look at a photo like this and say, what makes a photo like this make me feel this way or look this way? Hack is take this photo, drop it in like a clot or a chat G P and like have it describe it back to you. In language and it can give you, it can kind of be a train and exercise ground for giving you language into these prompts. So I think people need to put a little effort into training themselves how to write good prompts and kind of backwards engineering out of things that they like, how they might describe them better.
41:18 Speaker 01 And as you develop that understanding, you'll also develop a vocabulary around it, which I think is incredibly powerful for prompting.
41:25 Claire Vo? Yep. Great. So we have a beautiful chair. It's a trestle desk.
41:30 Speaker 01 You've got a beautiful chair.
41:31 Claire Vo? It is an autumn rainy morning.
41:33 Speaker 01 Another one. You've got the raindrops. You've got Milan in the background.
41:37 Claire Vo? Yep.
41:38 Speaker 01 Another one, another one. So very quickly, we've gone from this kind of beautiful morning light to this kind of softer light, not by describing the light itself, but by shifting the setting and having the L L M kind of figure out what is the appropriate lighting for that setting.
41:55 Claire Vo? Now I have to ask a question. Is this photo and this prompt a reflection of being a parent that works at home? And just imagining what it would be like to have a completely empty, clear desk, looking out at Milan in a stylish, probably very expensive, easy to ruin, design within reach chair.
42:18 Speaker 01 That would be amazing. One could dream. If only you could see my desk right now. It's tiny and filled with battery and Stream Deck and all sorts of stuff.
42:28 Claire Vo? Exactly. So again, you can use Mid Journey for commerce and for escapism here.
42:33 Speaker 01 100% yes. And then if you'd rather be in New York than Milan, you know, here, we've just added New York to the photo and said it's a modern glass American architect's office. And what's interesting, I think a lot of times people think a lot about the foreground in their photos, but not what the background is. And the background is just as important to providing a sense of place. And now, go ahead.
43:00 Claire Vo? So remind me, so remind me again, we need subject, we need location, we need light, and just pick film or a camera as your cheat code.
43:11 Speaker 01 Yeah, so subject, what do we want, setting, where is it, which includes the lighting, and then style, how do we want it to look?
43:20 Claire Vo? And you and I were hypothesizing before the show that the reason why film or camera could be a cheat code here is we suspect that these models are trained with a set of metadata that includes that information. And so when you narrow in on that data set, you get a more refined source of content that's generating these images.
43:43 Speaker 01 Yeah, absolutely. And like, let's show an example of that. So film stock is often metadata that is associated with a photo. And so here I've changed from the Fuji film stock to Kodak Tri-X, which is a really beautiful black and white stock that is very contrasty and has a lot of grain. So rather than telling the LLM, I want grain, which can often overdo it, or I want contrast, we're saying we want it to look like Kodak Tri-X.
44:11 Claire Vo? Oh, it is really beautiful.
44:14 Speaker 01 And you can get a sense of it. It's not quite, you know, just creating something black and white. It's a little bit more than that, a little bit more contrast, a little bit more character to it.
44:24 Claire Vo? Yeah, a little bit more texture to it.
44:27 Speaker 01 And I think what's interesting here is there's a lot of meaning that comes with the film stocks. So not only are we getting a different style, we're also getting interesting compositions. And I think that goes to how these models were trained because, you know, they're trained on data that likely has descriptions or metadata around the images and they're trying to create a mapping between the language and the image. And so when you use photographic language, it looks at the higher quality photos in the data set.
44:56 Claire Vo? Well, and you know, there's a lot of, and rightfully so, anxiety in the arts and the creative professions around some of these tools. And when I hear you speak about how to get higher quality assets out of here, I think what a head start folks with a creative, with a photography, with an arts background actually have in this kind of world where it still is really anchored in the technical aspects of the media. And so if you know photography terms, then you can actually prompt, I've seen a lot of like F-stop, you know, terminology and prompts, all those sorts of things. You can actually prompt it significantly better than someone off the street who's like, I know how to write code, but I don't understand what Kodak
45:39 Claire Vo? film stocks are out there. And so, you know, I just, I do think for folks in the arts, I hope you can look at some of these opportunities and see where you actually have a leap ahead of folks. And bringing something like this with your own creative vision, with your own photography or art, I think is going to be a really interesting way. People build even, you know, more amazing things in the future. So I think it's, it's awesome and I want to see more people in the arts actually.
46:05 Speaker 01 Absolutely. And this lowers the barrier. You know, and there's good things about that and bad things about that.
46:10 Claire Vo? Yeah.
46:11 Speaker 01 But I think it's better, you know, the more people in the world that feel empowered to create, the better we'll all feel, the better we'll all be.
46:16 Claire Vo? And not everybody can afford these fancy cameras either.
46:19 Speaker 01 No.
46:21 Claire Vo? You know, um, oh, amazing. Okay. So you have a, a, a person now that we're generating.
46:28 Speaker 01 So I'm generating a person. Um, so a young man with brown hair, uh, and eyes at golden hour. And I've added in some of that camera metadata that you were talking about. So Leica, that's like an $8,000 camera, right? So that's not accessible to most people. But by mentioning it here, it puts the image generation model into the space that it's learned from around those cameras, which makes for more beautiful and more aesthetic images. 50 millimeter lens is a very common focal length for portraits. Uh, F 1.2 says I want a really blurry background, like incredibly blurry background. So it's kind of ethereal, ethereal looking. And then Fujifilm Provia, um, is a good portrait film stock that people use. Uh, and so here we've got a great, uh, image that embodies
47:12 Speaker 01 that, uh, and we can go through and see the other ones. And all of these have sort of an aesthetic quality that's sometimes hard to get out of AI. They're not, they're not in that uncanny valley that we often see with, um, image, images that are generated of people. And I can kind of see, show you, you know, if we actually generate an image, but we don't include any of that camera information, sometimes the results are more in that uncanny valley.
47:37 Claire Vo? Now, what I do have to call out here is all of these generated images have a quite mournful aesthetic to them. There's rain. These men are looking very concerned through these windows. And so I'm going to challenge you, after we get off the podcast, I want you to email me a happy young man.
47:57 Speaker 01 Okay.
47:57 Claire Vo? In the bright morning sun.
47:59 Speaker 01 We will do that.
48:02 Claire Vo? Okay. Oh, so you did do a portrait of a young man with brown hair and eyes. So same original subject prompt without all the location, lighting, film, camera, metadata. And we got like sketches.
48:17 Speaker 01 Yeah, we got sketches and that's fine because we didn't tell the image generation model that we wanted a photo. Um, one of them is a photo, but you could see this photo kind of has that uncanny look to it. It's a little bit too perfect. Um, and that's because it's trying to use the average of all of this training data rather than these photos, which are saying, okay, I want to actually be in the, um, realm of training data around high-end photography.
48:43 Claire Vo? Okay, you have given us such a great way to structure our prompts. I have given everybody homework to study the arts to make yourself better at these AI tools. Let's do a couple lightning round questions and get you back to your very far breadth work of generating JSON to do AI prototypes to AI mid-journey photography prompting. So, you know, as I said, enterprise girl, B2B, square boxes and forms. What I love about what you're showing us is there is a lot of work in consumer that can be really accelerated by AI. There are two questions on this point.
49:24 Claire Vo? One is, what do you think AI PMs and product teams in consumer products really need? How are the skills that they need to develop different than maybe ones that are working in B2B? What do you think that the opportunities are for consumer product teams with AI?
49:41 Speaker 01 I think AI for consumers incredibly exciting. And there's a whole lot of consumers that are using the big tools like Claude and ChatGPT. I think one of the nice things about B2B is the ROI of AI is usually pretty clear. Like if we can accelerate a workflow, we can make someone faster, we can make someone more capable. The reason why is very clear and so businesses are adopting this stuff very quickly. For consumers, it's not always really clear what the consumer value proposition is and what problem you're solving for them. And not every problem is worth solving for consumers. So just because you can do it with the technology, doesn't mean that people want to actually do it.
50:21 Speaker 01 And so I think really good consumer AI is grounded in an understanding of consumer psychology and consumer needs. And then maps in, well, how does AI fit with that psychology and those needs? Rather than starting from a technology first solution and saying, okay, you know, we could do all these really cool things. Let's create a consumer app around that and hope that we're solving a need. And so there's a little bit of magic, I think, that has to happen with consumer. And the way I think to do risk that is by focusing on those needs and really understanding the underlying psychology.
50:52 Claire Vo? Well, and I would just say, as you were saying, that some of the kind of like psychological needs that I think are underserved simply by the limitations of technology, time and space on teams are like extreme levels of delight, which is how can you create really rich, engaging, delightful experiences, those like beautiful, you know, parts of the app that tend to get shaved off in scope reduction exercises. I think that's a real opportunity. And then the other thing is making products feel really personalized, either to the place you're at, the people that you're with, or what we know about you. And so it doesn't have to look like a chatbot. But if you can think, what could I do today that I couldn't
51:34 Claire Vo? do yesterday for this user? I think there are a lot of answers where AI really unlocks your ability to deliver something very special, even if it looks like a tag, or a comment, or a photo. And so it's, you know, what is the tool behind the scenes versus what is the expression of the product? I think you can differentiate a little bit.
51:54 Speaker 01 And I think that delight piece is so important. A lot of times as PMs, we prioritize things as must have, nice to have, won't do. And I used to tell my teams, if we cut all our nice to haves, our product is not going to be nice to have. And we have to reserve some of our time for the delightful things that make the product stand out.
52:13 Claire Vo? Yep. Oh, I love it. Okay. And then my last question is, other than giving it reference locations where you fantasize yourself to be, when AI is not doing what you want, what is your prompting strategy? How do you get it back on track? Do you have any tricks?
52:30 Speaker 01 I try to be very encouraging. And I've been using the word elite a lot. So you are an elite sales coach, or you are an elite photographer. And so just elevate its expectation to itself. And sometimes that will help it generate better results. And I think what it's doing is it's, a lot of prompting is like, what space of the training data set do you want to be in to get a result? And when you use the encouraging words, it's not that you're actually encouraging the AI, it's that, you know, those words are associated with really high quality output, and it puts it in a different training space.
53:01 Claire Vo? Okay, I love it. And again, I think this is the prompting strategy of choice of parents who are always telling their kids, like, you can do, I know, I know that you're a capable kid. I know that you can do, I know you can do your homework. Okay, well, where can we find you and how can we be helpful to you?
53:18 Speaker 01 Yeah, so I've got a sub stack, so Ravi on product and you can find me at ravi-mehta.com. You can also find me on LinkedIn, so please follow me. I've got a class that Brian Balfour and I launched with Reforge. It's on AI strategy. So the question that we were answering with that class, which is really important for us as product builders, is not only how do you understand the technology, how do you integrate it into your product, but what does this mean for you competitively? What do you need to do to create a product that's going to win in the market, I think, in the most intense environment that we've seen in the history of tech? So we launched that in April, had a really great first cohort. We're launching the next cohort in October. So check that out if you're interested in learning more about AI strategy that's available through Reforge.
54:03 Claire Vo? Awesome. Well, thank you so much for showing us all your amazing workflows. They're very useful.
54:08 Speaker 01 Awesome. Thank you so much for having me. This has been really fun.
54:10 Claire Vo? 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 howiaipod.com. See you next time.
Previous The beginner's guide to coding with Cursor | Lee Robinson (Head of AI education) Next “I’m incapable of doing my job without AI”: How this top PM uses Claude + ChatGPT as his second brain Page updated November 1, 2026 · transcript and summary are machine-generated