The complete beginner’s guide to coding with AI: from PRD to generating your very first lines of code

5 Nov 2025 · 45 min · 24 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

A live “zero-to-one” beginner guide to AI-assisted coding, starting from writing a PRD and ending with a locally running Next.js “personal project hub” that displays Markdown docs (PRDs) and clickable prototypes.

Guest backgrounds

No guests. Host is Claire Vo, product leader and AI obsessive.

Key claims

  • Start with a simple PRD to improve results before coding.
  • Vibe-coding tools can cause scope creep; if they overbuild, switch to Cursor and scaffold from scratch.
  • For beginners, it’s easier to learn by running a local app in an IDE than by wrestling with deployed complexity.
  • Use Cursor “agents” and model composer for fast setup; use GitHub Desktop for visual version control.

Notable examples

  • PRD for “Claire’s Hub” with two sections: docs and prototypes.
  • Failed attempt with v0 (too complex/fancy).
  • Cursor-built local app on localhost:3001 with docs + prototype routes.
  • Example PRD + prototype: neighborhood task scheduler for weeding/trash/sweeping; prototype includes simple sign-in and task creation.
  • Adding an agents/prd.md instruction file and generating a README; then “prettier and cuter” homepage redesign.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

Understanding Safe Space Questions

1:19 to 3:16

Explore the common beginner question about starting coding with AI.

“ChatPRD is an AI co-pilot that helps you write great product docs, automate tedious coordination work, and get strategic coaching from an expert AI CPO.”

Live Coding Session Introduction

3:16 to 4:30

Join a live demonstration of creating a personal project hub from scratch.

“So today's mini app is going to be a building episode.”

Writing a Requirements Document

4:30 to 5:48

Learn the importance of a PRD in building your personal project hub.

“I'm probably going to prototype a little bit in v0 by Vercel.”

Generating a PRD with AI

5:48 to 7:40

Watch as an AI generates a PRD for a personal project hub.

“I think just like kind of this personal hub where you're going to play with AI stuff is the way to go.”

Prototyping with V0

7:40 to 9:14

Discover the prototyping process using V0 for the personal project hub.

“But it's going to write me a quick PRD for my personal project and really outline what I want to do.”

Choosing the Right Coding Language

9:14 to 11:50

Understand the benefits of JavaScript vs. Python for beginners in AI coding.

“And I find that people often think that the scariest part is actually connecting their vibe coding, their vibe coding prototype with an actual deployed experience.”

Navigating AI-Assisted Coding Tools

11:50 to 13:52

Learn about the complexities of AI tools in generating code and prototypes.

“something like starting with an IDE, like one server cursor VS code or whatever, you really start worrying about the code too early for somebody who is not technical.”

Initial Coding Attempt and Challenges

14:01 to 15:04

Learn about the difficulties faced when trying to generate code using a vibe coding platform.

“Okay, we got errors already off to a bad start.”

Starting Fresh with Cursor

15:04 to 16:22

Understand the transition to using Cursor for a more straightforward coding experience.

“We made a PRD, we tried to vibe code it, the vibe coding was way too complicated.”

Using Cursor's Features

16:22 to 19:00

Discover how to utilize Cursor's features, such as agent views and model composer.

“So I'm going to go to agents and I will zip back to my I will zip back to my PRD.”
Show all 24 chapters

Building a Simple App

19:00 to 21:45

Explore the steps to set up a basic Next.js application and manage documents.

“If your Vibe coding tool is just going too far in terms of what features are in your app, just go to Cursor and start from scratch and use Composer 1.”

Managing Code and Prototypes

21:45 to 24:29

Learn how to manage code in your repository and create prototypes effectively.

“is I want to show you how you can manage documents in a cursor repository like this.”

Setting Up a GitHub Repository

24:29 to 28:01

Understand how to initialize and utilize a GitHub repository for your projects.

“But this is a very important step for any of the technical, non technical folks out there.”

Creating PRD and Agent Instructions

28:01 to 29:15

Learn how to define and create PRDs and agent instructions for AI.

“And the instructions should be less than 500 lines long for our AI agent to follow.”

Committing Code to GitHub

29:16 to 30:25

Understand the process of committing code to a repository using GitHub.

“So again, it's going to refactor this file and give some improvements on the template and you will see those improvements be shipped into this file.”

Writing a PRD for a Scheduling App

30:26 to 32:36

Create a PRD for a neighborhood task scheduling application.

“tell the engineers, we're just going to commit to main today.”

Benefits of Using AI for Document Creation

32:37 to 34:08

Explore the advantages of using AI for creating and managing documents.

“Now the magic will be will it show up in our app?”

Prototyping with AI

34:09 to 35:33

Learn how to build a prototype based on a PRD using AI tools.

“And what I can imagine product managers do with this is start to just brainstorm in cursor.”

Iterating on the Prototype

35:34 to 38:06

Iterate on the initial prototype while learning to code with AI.

“of functionality inside the prototypes page.”

Publishing and Updating the Repository

38:07 to 40:07

Learn how to publish and update a project repository on GitHub.

“And then I can go back and forth in cursor and explain to it what I want, how I want it to be fixed, all that kind of stuff.”

Improving the App's Design

40:08 to 42:01

Discover how to enhance the app's design using AI suggestions.

“One, I'm going to start a new agent and say, can you update the README for this repo?”

Creating a Cozy Workspace with AI

42:01 to 42:46

Learn how to enhance your coding environment to be more enjoyable and creative.

“I think prettier and cuter is great instructions here.”

Building a Code Base from Scratch

42:46 to 44:16

Understand the steps to create a foundational code repository for prototypes.

“zero to one, a code base that helps you consolidate documents, including PRDs, and helps you build out prototypes.”

Conclusion and Next Steps

44:16 to 44:31

Discover additional resources and encouragement for coding beginners.

“to get started playing with your own personal space.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:04Welcome back to How I AI. I'm Claire Vo, product leader and AI obsessive here on a mission to help you build better with these new tools. Today, I have an episode that so many of you have asked me for, which is, Claire, if I have literally never written a line of code, I have no idea what I'm doing. I do not know how to run anything locally. How do I get started with AI-assisted coding, vibe coding, so I can just learn the basics? And in today's mini episode, I'm going to show you exactly how to do that, or exactly how I would do it. and I'm doing it completely live. So we have a couple hiccups, but we eventually get to a personal project hub that can be run locally on your machine that lets you generate docs via AI and prototype designs that you could share just with yourself or with your team.

0:59I hope this is what I'm calling a safe space episode for you to really get started as a beginner using some of these coding tools and learn how to leverage this technology to build interesting things for yourself and eventually for your team. Let's get to it. Today's episode is brought to you by ChatPRD. I know that many of you are tuning into How I AI to learn practical ways you can apply AI and make it easier to build. That's exactly why I built ChatPRD. ChatPRD is an AI co-pilot that helps you write great product docs, automate tedious coordination work, and get strategic coaching from an expert AI CPO.

1:38And it's led by everyone from the fastest growing AI startups to large enterprises with hundreds of PMs. Whether you're trying to vibe code a prototype, teach a first time PM the ropes or scale efficiently in a large organization, ChatPRD helps you do better work fast. And we're integrated with the tools you love, vzero.dev, Google Drive, Slack, Linear, Confluence and more. So you don't have to change your workflow to accelerate with AI. Try ChatPiardy free at chatpardy.ai slash howiai. And let's make product fun again. There's this concept I have in teams that I run where we don't call questions dumb questions.

2:20We call them safe space questions. And the number one safe space question I still get is, how do I actually get started coding with AI if I have never written a line of code in my life? And we've had a couple episodes kind of giving you one-on-one on Vibe coding and creating prototypes. We had Lee at Cursor walk through some of the components of Cursor. But still, we have not shown you how to go from zero code, no files, nothing to a code base that you can start to work on locally and learn a little bit more about these AI assisted engineering tools like HERSR, like QuadCode, or even just create a little space for yourself to experiment.

3:16So today's mini app is going to be a building episode. We are going to do it live and there might be some rough edges because I don't have anything baked right now. I'm going to show you how I would do this if I was starting completely from scratch and we will see how far we can get in terms of standing up a little personal app on your desktop to code with using AI. eye. And I'm going to try to make this accessible for people who are not software engineers in your day to day. But this is a great episode for software engineers who want to share this with their PMs on their team, designers on their team, or their friends looking for a way to go zero to one with coding.

4:02Caveats here. Again, I did not plan this out. So we're doing it live. Two, we are not going to stress out about the quality of the code right now. What we want to start with is can I get something running locally, that's useful that I understand some of the components of, and we're going to do it really fast. It's not gonna have tons of functionality, but it's gonna get you started. And for everybody listening, I'm gonna use a couple tools today, I'm gonna use chat purity really quickly. I'm probably going to prototype a little bit in v0 by Vercel. I'm going to bring it in to cursor. I will show you how to optionally or additionally use Claude code.

4:46And we might bring in some other exciting tools along the way. So this is one where if you want to get the YouTube up on one side and your screen up on the other and follow along, I will try to make it as simple as possible to get started with nothing and then have a AI coded code base by the end of this. We'll see if we can do it 30 minutes. Okay, to get started, I'm going to share my screen. And like all good products and like all good founders, I am going to start with writing a requirements document. We're going to make this really simple. And I thought what would be a good use case that's pretty accessible to everybody.

5:32And I thought this idea of kind of a personal product hub would be really useful, especially as folks that have followed along our recent episodes with Dennis from Chime about AI powered product management, some of our prototyping with cursor episodes with Elizabeth Lynn, I think just like kind of this personal hub where you're going to play with AI stuff is the way to go. So I'm going to say help me write a document chat. I'm just going to say personal project so it doesn't think I'm working on my own product, a minimal simple hub for working on two things. Oops, pressed enter. So it's going to be really anticipate what those two things are.

6:17The two things are going to be the documentation, PRDs, and ideas. The second thing is small interactive prototypes. I want a web app with basically two navigation items on the left, docs and prototypes. And I will turn this into a Next.js app where I can write docs in markdown and find code little prototypes. Okay. So this is what I'm imagining. I'm imagining I'm going to make Claire's Hub for product work. It's going to be a super minimal web app. I want docs where I'm going to like basically use AI to write PRDs and other docs and ideas. And then another folder where I write prototypes and maybe show you how to use Cursor or these other tools to like buy code little prototypes in this folder that then you can see over time.

7:27And the core audience is myself. So this is just for me. So I can build something simple. You can hear my typing because I have nice nails today. But it's going to write me a quick PRD for my personal project and really outline what I want to do. The reason why I like to start with PRDs is really you just get better results out of the next step, which will be a kind of like vibe coding prototyping step. And so while this is a little bit of time, I think it's really worthwhile to do because then in our next step, we're not going to be spending so much time on prompting and other aspects of this work.

8:14So this is going to generate a PRD. We'll probably like spin through and come back when it's ready and send it over to V0. Okay, my document is done. I'm just going to just read the top. I'm going to be the laziest PM because, again, this is a mini episode, not a big episode. And my general goal, I want to quickly drag down product ideas and mark down format. I want to seamlessly switch between writing PRDs and coding prototypes. I want to organize my documents. I want to see a live preview. Okay, sure. Why not? This looks great. So then I'm just going to open this in V0, which is my preferred prototyping app for this particular use case.

8:54The reason why I like v0 for my initial prototyping is one, the UI tends to be pretty like streamlined and nice looking and pretty. Two, it's going to be really easy to take this into the next step of getting it in GitHub, getting it in cursor and actually deploying it. And I find that people often think that the scariest part is actually connecting their vibe coding, their vibe coding prototype with an actual deployed experience. And I think Vercel has done a nice job, shout out to my friends over there, of setting that up. That being said, like pick your vibe coding platform of choice. Lovable is lovely.

9:38Bolt is lovely. Replit is lovely. I mean, all of them are lovely. I'm just going to prefer this one for this workflow because I'm actually going to pull this into code and show you some alternate ways you can deploy this app at some point. And I know that's a part that a lot of you have questions about or are curious about. So it's going to help me build this personal project hub. A couple kind of like keywords for you all as you go down this vibe coding path is Vercel is definitely going to build this in Next.js. so it's going to be um javascript focused i always tell people if you're trying to get started with coding with ai you pick one of two languages you pick python because it's easy to read or easy to write and read and you pick javascript because it's easy to see um i don't think javascript is actually the most readable language python i think is like really easy you can literally read it and understand what's happening um javascript's a little a little more fancy um has a couple syntactical things that are pretty unique to that ecosystem.

10:46But JavaScript, you can like get a website out of which, which we all all really like. And there's a couple extra hops and steps with Python. So this is going to generate basically a Next.js app and repository for you that I'm actually eventually not even going to use in v0, I'm going to pull in to cursor. So you can see here it's a building a lot of these components we talked about. Again, for people who are like, I have no idea where to start, I downloaded cursor, I opened it up, what do I do? There really are two steps, you could do this whole step in cursor start from zero, it will definitely scaffold out a repository for you.

11:28But I like for beginners to start in a vibe coding kind of platform like this, because you can really see it first, they have this web based browser that you can look at, you don't have to worry about running it locally. And you can really focus on the things that I know some of you non technical people care about, which is like, how it looks and how it works. And then we'll worry about the code. And I feel like something like starting with an IDE, like one server cursor VS code or whatever, you really start worrying about the code too early for somebody who is not technical. So let's let this generate and then I will come back and show you how I will pull this into cursor.

12:04This is still generating and one of the things that I want to call out for people again we are doing this live so I'm going to show you exactly the pros and cons of following a flow like this is I did make a pretty good PRD but I did try to tell it to keep it simple and what I've noticed as a lot of these AI assisted coding platforms try to take more and more of the end-to-end application building and are trying to compete on the complexity and completeness of the applications they can generate. What I have noticed over the past couple of months is that I've seen a lot of scope creep be built into how these more agentic implementations of these coding tools work than maybe we want.

12:51And so again, I wanted a very simple. I wanted a place for my documents. I wanted a place to prototype code. I wanted it in Markdown. And it's building me a bunch of stuff I don't need. File management, I saw it had a sandbox for coding, like all sorts of things that I didn't actually say I wanted and is far beyond, I think, the complexity of the product I wanted to generate for this use case. So we're going to see what we end up with. Otherwise, we'll take a different path. And again, I'm just showing you this so you all can understand what you're going to get out of these tools and how you may have to back out of a current path in order to find the right path for you moving forward.

13:45And so it may have been a mistake to generate this because the app, the VZero app went like ham on the requirements. It built me something very fancy, which is nice, but is maybe beyond what I wanted to start with. So I'm going to see here documents. Okay, we got errors already off to a bad start. Let's go back to the home prototypes. But no, I don't want this. I don't want this code here. I just wanted the code to be generated normally. So you know what? This is a bust. And that's okay. Even for a mini up here, having this be a bust just shows you if you play with these tools, you can figure out the right workflow for you.

14:34And then it's pretty cheap to walk away. I spent I'm looking at our recording timing. I've spent 10 minutes so far on all of this, including mostly waiting time on loading. And it didn't end up what I wanted. And guess what? Totally fine. So we're going to back out, we're going to give up on our vibe coding platform, because it's going to take too much back and forth to get to the simple thing I want. And I am going to start this from scratch directly in cursor. Okay, so that was a total bust. We made a PRD, we tried to vibe code it, the vibe coding was way too complicated. I don't actually want it to be that complicated for the sake of this quick start tutorial.

15:13So we're going to go directly into cursor and see what it looks like in that direction. And so I have opened cursor, it is opened to a empty directory, that directory is actually named Civo, because it's going to be my personal project. There are no files, there's nothing in it. So all you have to do is go into your file browser, create a folder that's empty, open that folder in cursor. And then I want to show a couple things about cursor 2.0 that has been released in the last week. One is they now have two different views and agents view, which is much more focused on what you're going to build and instructing the agent or multiple agents that are working in your code base.

16:00And then an editor view, which is very similar to what Lee showed us in a couple episodes ago, which is your files on your left, I have zero files, your code in the middle, and then your chat or agents on the right. And I'm actually going to use the agents flow for this because again, I'm trying to get started for beginners and I want to show you how easy it is to run. So I'm going to go to agents and I will zip back to my I will zip back to my PRD. I am actually just going to copy this markdown because I'm feeling lazy. And I'm going to say, I want a very simple Next.js app set up where I can keep a repository of markdown docs PRDs and code in different directories, little prototypes that will be displayed in the app.

17:03Here is a PRD but it's super basic. The other thing I'm going to show here is I'm going to use cursor's new model composer one. The reason why is this is a mini app and composer one is so freaking fast. It is fast. You guys did a good job there. Of course, you could switch what model you want to use, but we're going to use composer one for the sake of this and see how far we get. Oh, I should also say up here, this period, you could keep it super basic. We're starting from scratch. So give me all the steps I need to set up and run this. Okay, so let's see what this cursor agent does, it's going to run a bunch of install files.

17:52So it's going to create a next app, it's going to install TypeScript, Tailwind, ESLint, a bunch of stuff, essentially, just a couple libraries that will be very useful for you to use. TypeScript will be the typing language, and the types will be the types. Tailwind is a really nice CSS library that makes things look nice. ESLint, make sure you write good code. And it's creating the project structure. It's double checking it. It's also installing a couple libraries, including displays of Markdown and GitHub flavored Markdown, which is GFM, if anybody's curious about that. And it's starting to write a couple pages for me.

18:34And so again, look at this thing. It is blazing fast. Rumor on the Street is it's a trained Chinese model. So we'll see what kind of non English language characters we can force this thing to show up. But why I like composer one, again, this is not the most complicated app in the world that we're building. It is not super fancy. I just want to show you how fast it is. So again, maybe this was the right way to do it for beginners, which is, you know, If your Vibe coding tool is just going too far in terms of what features are in your app, just go to Cursor and start from scratch and use Composer 1.

19:15It'll keep it very simple. Now, I have in the editor a bunch of files. Does this help any of you that are new to coding? Absolutely not. Do you know what these files mean? No way. Do you want to look at files when you are building an app? No, you want to look at apps when you're building an app. And so you can just really just go into the agent and say, cool, but how do I run this? And it will actually give you the instructions on how to run this. So this is running a campaign. This is running a command. NPM run dev runs a local server for your app. Okay, and we can pull this up. And now I have running locally on localhost 3001.

20:00I have my personal project hub, you can see this welcome document. Perfect. This is exactly the level of complexity I wanted. And then prototypes, which is just a little Hello World prototype. I don't actually want the HTML, CSS and JavaScript exposed here. So I'm going to go back to agents. And I'm going to say you got this almost right. You got this almost right. But I don't need the code snippets in the prototype section. I just need to be able to put routes. Routes are like page paths, if you don't know. routes in this app that I can fill with code components and display to my qualities. So again, it thought that I wanted like a real prototyping tool.

21:01V0 thought I wanted a very real prototyping tool. I just want literally a place to show some things. And so it's generating an update. And so now you can create an edit markdown documents, you can show prototypes and routes. And let's see if it has improved what I want to see. Yes, switching storing component code directly in the route files, which is exactly what I want. Again, you don't have to read this code, maybe I'll release this repo and you all can fork it and try for yourself. But it's moving very fast to create a second part where I can put some code in. And the reason why I want to do this is I want to show you how you can manage documents in a cursor repository like this.

21:50And then I want to show you how you can manage code in a repository like this. Again, I am not going to explain to you what this code means. You can use the cursor chat to read all the code, explain what it means. We're just going to trust that it shows up in the web app. And it's what I want. We're running it locally. There is very little minimal risk here for the most part. It's a pretty simple thing. And so I just want to give you all a couple ideas on how to get started zero to one with something that's really simple in cursor. Okay, this is exactly what I want, which is I don't want the app to like, let me create prototypes, I literally just want to be able to code them and show them to you all.

22:31And so I just have to create directories in this directory in my code base and show them with documents. It's really cool how it works. So one of the things I would do once this is done is I would say, this is exactly what I want. Please explain to me how the two user facing functions work and actually put some instructions on the homepage. So again, I'm not going to read the code, we're doing this fast. But I do want to make sure I understand how it works. And so it's going to put in some documentation directly in the homepage of my app to explain how it works. So okay, let's read how documents work.

23:20I click a new doc, it creates a markdown document files are stored in the docs directory, which is great. It can be edited directly in the browser with live preview, which is exactly what I want and prototypes, I just manually create them in my code editor. Any directory I create in the prototypes will automatically appear here. And I can create a demo page app and it will go. Now, this is exactly what I wanted to start with. Again, about 10 minutes to get this going. And it's a much simpler place for us to start working on our personal project hub. And so while I had a misfire with a vibe coding tool, does not really matter.

24:03All that matters is that I got to the thing that I wanted to get to. So let's talk about next how I would actually use each of these kind of flows, how I would set up some cursor style rules and agents to kind of manage what how my work happens here. And I'll show you how to create a document and how to create a prototype and vibe code along the way. Okay, so I was a lazy girl and did not initialize a GitHub repo. But this is a very important step for any of the technical, non technical folks out there. I know first software engineers get is sort of secondhand on how we manage our code projects.

24:42But again, this is a Safe Space episode. So we are going to tell you how to initialize a GitHub repo and what you could use it for. And again, this is an episode for non-technical folks. Just use the GitHub desktop app. It will make the primitives of Git in terms of files, change tracking, diffs, pull requests, so much easier to learn if you visually use the downloaded GitHub desktop app versus trying to understand this through the command line. So it's one of these things that, sure, you can have your AI agent sort of like VibeCodeU commits, and things like this using Git in the CLI. And I just think the visual of the GitHub desktop app is really going to help you understand what's going on in your code.

25:26And so we're going to add this repository to GitHub. It is in my projects, and it's called Thievo. And we're going to create that repository. We're just going to, yeah, add some stuff to the git ignore file, create the repository. Let's see what's happening. It should be creating this in my GitHub app. And it has, and you can see my initial commit has all the original files and then git ignore, which is what files are going to be ignored by git. I'm just going to commit everything and we should be good to go here. We'll see how it goes. You can see how Git works by if I added something to this new doc, new headline, saved it and I switched over into my GitHub repository.

26:16You can't see me point at the end to this here. You can actually see this change here. Green means added, red means removed. And as you can tell, it's a great way to track the changes that are happening in your application, I'm actually going to discard those changes. And you can see here, they're discarded here in my code. So now that I have GitHub running, what's great is I can start actually working in this app. And again, if you all don't remember, it does sort of two things, my app does two things, it tracks documents, and it helps you create prototypes. So we're going to go through how I would set up a personal project hub to do both of these things, showing off some of the use cases of cursor, and then maybe we'll show a little bit of quad code as well.

27:10So if I were creating a personal hub for documentation, one of the things that I would do is actually create some rules. And I would create those rules in an agents folder because I want a documentation agent. And so I'm going to create a new folder called agents. And I'm going to create a new file called prd.md. And that agent is going to help me create PRDs. And I'm going to say in this chat, can you fill out at sign prdmd? this is a blank file to be agent instructions to write a great PRD in the mentioned docs, see if it's showing the folder in the docs folder. PRDs should be in markdown. And the instructions should be less than 500 lines long for our AI agent to follow.

28:21Okay. So this is just a unique way to define, you know, in cloud code, it's called a skill here in cursor, you can make it a little agent instruction. And what's nice is you can have the AI actually create it for you. So this is my PRD, writing agent instructions. It tells it who you are, here's the purpose, here's the structure, requirements, etc. Now what I'm going to say is we're rolling solo. I don't need an executive summary because I just don't care about executives right now. And I want my PRDs to be much more functional. So what I would say is, this is fine, but make the template much more functional around technical requirements versus business requirements for right now for this use case.

29:16So again, it's going to refactor this file and give some improvements on the template and you will see those improvements be shipped into this file. And then what I'm going to use is I'm going to use this file to then write PRDs moving forward. You can see it's going very, very fast. I'll let it finish up and I'll show you how I would use it. Okay, so this agent file is done and you can see here it gives it a role, some core principles on its purpose, a PRD structure and then it should give at the end if it's a good agent of a checklist of steps to follow and so this is just going to be additional instructions that I'm going to be able to feed into cursor when I write a PRD and this is saved in this agents folder this is where I like to put my instructions just a really easy way to add much of them keep some organized and you can create as many of these as you want.

30:19Okay, so since I've written this code, I'm just going to bop over to GitHub Desktop and see that that code was added. And then I'm going to commit this to main, don't tell the engineers, we're just going to commit to main today. I will talk about branches another day. But today we're just committing to the main branch because I'm just running this locally. And so I'm going to commit this agents PRD. And I'm just going to select this file and say, create prdmd that's a perfectly fine placeholder commit and now that code has been committed to my repository now what's really nice about this is if I go in my history I can actually undo the commit I can amend the commit I can do a bunch of stuff and this just lets you check in step by step the changes you've made to your files okay and then how would I use this agent so really easy I would say, great.

31:11Now write me a PRD for what do we want to prototype today? Oh, I'm working with my kid. So this again, it's a very personal, personal repository. I'm working with my kid on helping him do gardening and like weeding and sweeping work for our neighbors in the city. And so I'm going to do help me write a PRD for a little scheduling app where my kid can have our neighbors schedule help with weeding, taking out trash cans and sweeping their dragways. Okay, this is very important stuff. And what it's going to do is it's going to read that PRD markdown file that agent instructions, and then cursor can actually follow those instructions to create a document in the right folder.

32:11And the reason why I give this example is, of course, you could just straight write a PRD in that docs folder, or yes, of course, you could use some other template. But what I really like is just showing you how you can define a workflow in agents, reference that workflow, and then use that to create different assets in this code base that we've created zero to one. So now I have this neighborhood task scheduler PRD. Very cute PRD here. Now the magic will be will it show up in our app? And I think the answer is yes. Let's refresh neighborhood task scheduler PRD. Here in the app, I can actually read it here, see how it looks.

Read the full transcript

32:59It's very long. This is too long for a solo founder. So what I might do is go back to that agents PRD and add a step that really reduces the length of those documents. Okay, so what's the benefit of something like this. Not only can I have this nice little web app where my PRDs are displayed, I can store those PRDs or documents in a local code repository that I can edit with AI directly with cursor or whatever my AI preferred code is. I can create an agent that gives instructions on how to actually create those consistently over time. And I can do code and change tracking to see when I added new documents and how I added them.

33:53And so while this may seem like overkill, you could just do a Google Doc or something like this. I think this document creation and storing and display workflow is a really nice one for anybody looking to get started with coding with AI, but needs kind of a practical application. And what I can imagine product managers do with this is start to just brainstorm in cursor. The reason why I think it's good to do that, as you saw in Dennis from Chime's episode, is it just gives you a way to understand a little bit more about how these tools actually work, get more comfortable with these code editors.

34:33And then as you move into more code experiences, you then kind of have a sense of how all these tools work. And so just to resummarize this piece of the app, we've created half of our personal project hub app. It displays documents that we store in this documents folder in Markdown in a web app. And I've created an AI agent to actually create those documents, which is defined in this PRD Markdown file. Next, we're actually going to code. So I'm going to show you how to code something like this, show it in the front end, and then we'll put a couple bows on the end and send you off at the end of this little episode.

35:15Okay, great. So I've created a PRD for a little scheduling app for my kid where he can have his neighbor schedule help with weeding, taking out trash, and sweeping their driveways. Now I want to build a prototype for how this works. And if you recall in my original requirements and in the web app, the instructions, basically how it works is I'm going to create routes, which are little subdirectories or folders of functionality inside the prototypes page. And it will show up here in this list for people to see. Now I'm giving a simple, silly example, but what you can imagine is at work, you could start to create just a repository of your own prototypes that you're playing with, that you're looking at, and you're learning to code with.

35:57So I'm gonna go back in cursor. And now that I've created this PRD, I can say, great, use this PRD to create a prototype, clickable, but does not have to be totally functional with database, et cetera, in the prototypes folder so that I can show a little of how this might work. Super simple, easy peasy. Again, I want to make it a prototype. I don't want cursor to go off and like ask me to set up a database or any of those silly things. I really just want to create a clickable prototype. Again, I think this is a tip or trick for the product managers out there. When you're creating your own local repository, like you can avoid stuff like figuring out auth, you can avoid stuff like figuring out databases, especially if you're just trying to use this for prototyping, which is the exact example I'm going to give.

37:01So I'm going to let it run. It's going to build different files in, you can see it created prototypes, task scheduler prototype, it's creating a page, I'm going to keep all those changes, I'm going to bop over to the web app, I'm going to refresh I see task scheduler in here right now. And it has a sign in. Now, I don't know how this works. So I'm going to ask the chat, do I sign in with something? How do I sign in? And it's probably gonna tell me just to click the button. So use any email and password. Perfect. Easy. So I'm going to do hello at chat purity.ai and password. And I can see that the text is gray.

37:49I'm actually take a little screenshot of this bad boy to fix later. Oh, okay. And then we have neighborhood tasks. And you can create a task. You can see all the different tasks. This is exactly what I wanted. So again, it's not the prettiest app. It's probably not the best code. But if you're just trying to get started with how do I start to use cursor in real code to drive value, I want to skip these vibe coding tools, I want to go straight to the code, I can actually see this and understand how this tool might work. And then I can go back and forth in cursor and explain to it what I want, how I want it to be fixed, all that kind of stuff.

38:34And so I'm actually going to drag that screenshot in and say, it seems like fields have great text. Please fix. And I can go back and forth and iterate on this code. If I'm feeling fancy, I can actually go into the code itself. I can read it. I can ask cursor to explain this code. Again, I'm just trying to give you inspiration as a non-technical person, how you could use something like cursor really to do very basic things in code, but that have high payoff in terms of what you see and what you learn. And so let's see if this fixes our little login. We're going to sign out. Oh, look at that. Now it's fixed.

39:17It looks so much better. So we're really happy with our prototype. And you can imagine now you can just go into cursors to say, create a new prototype in a new folder, and it will create it for you. And again, of course, we're going to go to GitHub. We're going to check in scheduling prototype and commit its main. I'm going to publish this repository in my personal repository. I'm going to call it personal project hub and publish it. That's just going to push it to the cloud. So you have a place to access it online. It's not just local. And let's see, it's all looking so much better. So I'm really happy with this.

40:04Now I'm going to show you a couple other things that I might do in this app to make things better. One, I'm going to start a new agent and say, can you update the README for this repo? The README is generally like the front page instructions and walkthrough of how the repository works. So I highly recommend when you get to a starting point or a stopping point with your functionality to update your README file. This is something that agents as well as other engineers could use to understand how your code works. And so this is going to tell us what the features are, how to install it, what all the files are that we created, how to use it, etc.

40:49And that was created in just a few seconds. So that's something I highly recommend. And then again, we want to just go ahead and commit these readme changes. The second thing that I would probably do here is make it look nicer. So I think we're going to wrap this mini episode with Claire's guide to making things look nicer in Cursor. We'll see if we can do this in just a couple of minutes. So I would start a new chat here. Again, we're going to use Composer. It's fast. We like it. And we're going to go back. I don't actually care about the prototype looking nicer. I care about this homepage looking nicer.

41:24This is really, really, really sad. So I'm going to open Cursor. I'm gonna say I don't like the baseline design of the home page of this app. Please up level the design to be prettier and cuter. Rename it to let's call it Sivo personal hub and make it less basic. Again, terrible prompting, but we're going to see what it does. It's going to review the homepage. I think prettier and cuter is great instructions here. So we're going to see what I end up with when I prompt it to look a little bit nicer. Oh, it's going to be a cozy workspace for documents. This is, I don't know. It makes me happy. It's stupid looking, but it's cute.

42:23And so again, when you're working on something locally, who cares? Make it fun. Make it creative. Play with stuff. Add dark mode. All those things. I love it. You know, I love a gradient. You know, I love a pink. I'm going to check in these changes. I'm going to call it pretty and cute and call it a day. So this was my walkthrough of how to create zero to one, a code base that helps you consolidate documents, including PRDs, and helps you build out prototypes. And I think this is just a really good baseline repository for anybody, especially product managers who are wanting to get started with writing using something like a cursor and coding using something like a cursor.

43:13And again, you can continue to extend this, add more prototypes, add more documents, and get started. So what were our steps? We created a PRD in chat PRD. We attempted to send that PRD to v0.app. We got way too much functionality. It was too smart for its own good. So we started all over. We created a clean folder on our desktop. We opened that folder in cursor. We instructed it to make a Next.js app that does these two things. Then we created an agents file to write our PRD documents. And then we vibe coded or AI assisted coded our first little prototype that also gets displayed in this app.

43:57We made it prettier, we added a GitHub repository, we checked in our code, and we added a readme. So I hope this was the safe space episode you all were looking for, I get asked for it all the time. And if you have never written a lick of code in your life, I hope this gives you a place to get started playing with your own personal space. There are lots of other episodes of How I AI that can feed into this workflow. This is just a good one to get started. And I hope you've enjoyed this mini episode of How I AI. Thanks, y 'all. Thanks so much for watching. If you enjoyed the show, please like and subscribe here on YouTube, or even better, leave us a comment with your thoughts.

44:40You 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.

From the publisher

This episode is for complete beginners. I walk you through how to build your very first coding project using AI tools—even if you’ve never written a line of code. Together, we’ll create a personal project hub that automatically generates documentation and lets you build interactive prototypes. I’ll show you the process step by step—from setting up a repository, to creating AI agents that help with specific tasks, to deploying a functional web app locally.


What you’ll learn:

  1. How to set up a simple Next.js application from scratch using Cursor’s AI agent capabilities

  2. My workflow for creating AI agents that generate consistent documentation (like PRDs in Markdown format)

  3. How to build and display clickable prototypes without worrying about complex backend functionality

  4. The basics of using GitHub to track changes and manage your code repository as a non-technical person

  5. Why starting with a personal project hub is the best way to ease into AI-assisted coding

  6. My favorite practical tips for iterating on designs and functionality using AI tools—without needing deep technical expertise

—

Brought to you by:

ChatPRD—An AI copilot for PMs and their teams

—

In this episode, we cover:

(00:00) Introduction

(05:11) Starting with a requirements document in ChatPRD

(08:22) Attempting to use v0 for initial prototyping

(15:02) Pivoting to Cursor for initial prototyping

(20:20) Running the app locally and reviewing the initial version

(24:07) Setting up GitHub for version control

(27:09) Creating an AI agent for writing PRDs

(31:04) Using the agent to create a sample PRD

(35:00) Building a prototype based on the PRD

(37:00) Testing and improving the prototype

(40:00) Adding documentation and improving the design

(43:20) Recap of the complete workflow

—

Tools referenced:

• Cursor: https://cursor.com/

• ChatPRD: https://www.chatprd.ai/

• v0: https://v0.dev/

• GitHub Desktop: https://desktop.github.com/

• Next.js: https://nextjs.org/

• Tailwind CSS: https://tailwindcss.com/

—

Other references:

• Lovable: https://lovable.ai/

• Bolt: https://bolt.new/

• Claude Code: https://www.claude.com/product/claude-code

• Markdown: https://www.markdownguide.org/

• GitHub: https://github.com/

—

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email jordan@penname.co.

More from How I AI

All 103 episodes
The complete beginner’s guide to coding with AI: from PRD to generating your very first lines of codeHow I AI · 45 min
Listen in VO