How I Write Elite PRDs Using Cursor, Task Master & AI
April 20, 2025
Parker walks through an end-to-end approach to writing elite PRDs and automating the production stack that turns raw camera footage into publish-ready YouTube assets, with a focus on iterative planning, practical tooling, and a human-in-the-loop approach.
End-to-end automation stack: camera to publish#
- Core platform: Google Cloud Platform (GCP) + Python to maximize customization
- Key services: Pub/Sub, Cloud Run, Cloud Functions, Vertex AI, Google Storage (GCS), and GCS Fuse for bucket mounting
- Data flow overview:
- Capture video (4K, multiple weekly videos) and store as raw assets
- Post-process: encode, extract audio, generate subtitles, and produce summary / chapter markers
- Outputs stored in a structured bucket (subdirectories named after video titles)
- Auto-upload to two YouTube channels; HTML and JSON assets generated for each video
- Asset types generated:
- Subtitles, an 8-second chapter-summarized overview, tags
- A JSON file describing who is speaking
- HTML export for quick viewing
- Thumbnails workflow (connected to the PRD): AI-generated backgrounds, subject extraction, background removal, and text overlays using a template system
- Tools and touches:
- Phonic for audio/video processing integration
- S3-compatible bucket approach to keep future options open
- Short-term focus on eliminating busywork (thumbnail automation to come later)
The PRD process: thinking like a PM, then automating#
- Core philosophy: a strong PRD starts with thinking, not just prompts
- Elon Musk’s five-step approach (as applied): plan and ideate, test with manual steps, prune requirements, validate quickly, automate the last mile
- Iterative flow Parker uses:
- Write a rough PRD based on prior manual experience
- Run a first draft through prompts, then read and prune (remove nonessential items like compliance or timelines that bog down speed)
- Research with a GenAI-influenced workflow (e.g., use a repo like GenAI for Marketing to inform tool choices)
- Triage open questions and decide on libraries and techniques (e.g., Pillow for image composition, ffmpeg for frame handling)
- Rewrite the PRD to a format optimized for Taskmaster
- Create a future-work folder for out-of-scope enhancements (blogs, carousels, social posts, etc.)
- The human-in-the-loop reality:
- Many steps are validated or driven by human feedback (Discord webhooks for background options, frame-based subject selection)
- You still start manual to validate feasibility before full automation
- Final PRD discipline:
- Always read the generated PRD to trim extraneous items and confirm requirements
- Capture open questions and relative paths, then re-run the PRD through Taskmaster formatting
Thumbnail and asset generation pipeline#
- Step 1: Background generation
- Use a base prompt plus the video title context
- Generate multiple background options (e.g., using a tool like Imagin 3 on GCP)
- Step 2: Human-in-the-loop (Discord)
- Send four background options to Discord via webhook
- You choose options by number (1–4)
- Step 3: Subject extraction from frames
- Use ffmpeg to sample candidate frames while excluding the full-screen shot
- Generate assets for the subject (you) from the selected frames
- Step 4: Background removal and composition
- Remove background from the subject using Python libraries (no reliance on expensive AI backends)
- Use Pillow to compose the final thumbnail: background + subject + text
- Step 5: Text and template design
- Fix a template with a consistent text spot, implement variations if needed
- Apply shaders, shadows, and other styling for readability
- Step 6: Final sizing and templates
- Typical target: 1280x720 (earlier experiments with 1920x1080 and 1600x900)
- Ensure templates scale and stay visually balanced
- Practical note
- Templates are designed to be dynamic, with a consistent layout that can be swapped or rotated as you test new styles
Topic discovery, research, and data integration#
- The GenAI-for-marketing approach as inspiration:
- Vertex web search to chunk and parse relevant internet assets
- Centralized access to Wikipedia, Quora, and other sources for topic research
- Use of Google Workspace data and Trends datasets to inform ideas
- Why this matters for PRDs
- You can seed ideation with structured, searchable data and quickly validate ideas against real-world data
- Helps separate signal from noise when deciding video topics and formats
- Practical considerations
- Start with a lightweight, free or low-cost data access plan (the workflow leverages free tiers where possible)
- Plan for eventual automation, but validate ideas with manual checks first
Practical takeaways and workflow discipline#
- Think first, prompt later: your PM muscle matters; prompts alone won’t replace informed decision-making
- Iterate on requirements with ruthless pruning: kill unnecessary items early to speed delivery
- Use a structured PRD format and feed it into Taskmaster for consistency
- Maintain a future-work folder for non-core features (shorts assets, social promos, etc.)
- Implement human-in-the-loop at critical points to keep quality high and iteration fast
- Build the automation in stages: validate each component manually before connecting end-to-end
Notable tips and caveats#
- Read the first PRD draft carefully; remove or reframe items that slow you down
- Don’t over-commit to compliance or timelines in the early draft; focus on actionable functionality
- Expect to refine templates and assets over time; templates should be adaptable to maintain consistency
- Treat automation as a time-saver, not a magic fix; you’ll still need design judgments and creative decisions
Links#
- GenAI for Marketing (GitHub repo) — inspiration for research and content-generation workflow
- Task Master — formatting tool for final PRD outputs
- Pillow (Python imaging library) — image composition and thumbnail rendering
- ffmpeg — frame extraction and processing for video thumbnails
- Google Cloud Platform docs (Pub/Sub, Cloud Run, Cloud Functions, Vertex AI, Cloud Storage)
- Phonic — audio/video processing integration used in the workflow
- Imagen — background generation workflows on GCP
- Discord — for human-in-the-loop feedback and collaboration
If you want the exact PRD Parker uses or the Taskmaster-formatted version, drop a comment and I’ll share the drafts and templates he references.
Transcript
Hey there, I'm Parker Rex. I led tech for a startup that sold for 23 million bucks. I'm also a product manager of five years, UX designer of a few years and an engineer of a few years using AI every single day. And in this video, I want to walk you through a few different things. One is highlevel automation system that I'm building. No, it's not make. No, it's not. It's using GCP and it's using a bunch of Python. And why would you do that? Well, it's infinite customizability. Fits all of my use cases. And it's just crazy what you can do with all these Python packages. We're going to do that and then we're going to talk about some of the common issues that people have when they're writing PRDs. I can give you a template, but you're not going to know what to fill in there because you're not thinking like a product manager. So, I want to talk through how I'm actually going and doing my PRDS. So, because most of the time you'll see a video and it's just, oh, here it is. It's perfect. I oneshotted it. But that's missing out on the iterative process that is product development. So first off on the high level, the way that I'm doing this is I found a really awesome repo that I might have closed. Probably closed. So let's do generative Google GitHub. Here it does. Genai for marketing. Who says Genai? No one. But what it did was it inspired me because there's a lot of stuff that you can do in here both around the ideation side of content creation and the actual implementation of said content. So this is able to basically use vertex web search to chunk and parse parts of the internet that you want to have access to. So I could say, oh, I want to learn more about my college that I went to. And I could paste that in for every asset about the college, for Wikipedia, every asset or every place on the internet about my college, for Quora or the websites itself. I could pass it all of these things and then that can either be tracked or searched through and then you use that as the basis for new ideas. You can also use all of the Google Workspace stuff, all the new scraping assets that they have access to, Google Trends data set. Kind of nuts. So, this got me thinking, wow, there's a lot I can do with that. And wow, I can get up to 300,000 seconds for free a month on serverless functions through cloud through GCP. So, what I started with was okay, well, my process is not the idea generation. It's more around the busy work that is making YouTube videos. So, I just want to sit here. I want to go from camera to production and not do any of the in between. I don't want to do the thumbnail. I don't want to do titles. I don't want to do uploads. I don't want to do edits. So that makes it a lot more fluid. And my first pass at this was by having triggers with Cloud Run. And a lot of people are afraid of it, but you just pin the things that you need. So I have PubSub, Cloud Run Functions, Vert.Ex AI, Cloud Storage, and billing. What I did was I did GCS fuse, which mounts the bucket. What does that mean? When you plug in a normal like Samsung portable SSD and you have two TBs or terabytes on it, you plug that in and it shows up. You plug in a camera, it shows up that's mounted. So this is a pabyte of access of data. You would never have a pabyte. That'd be $23,000. You just wouldn't have a pabyte. But you could, I guess, if you wanted. And you could reduce the price if you want it to be slower storage. But in my case, if I have 4K videos for one week, 10 videos a week at an average of 25 minutes, then I'm going to have 250 gigs worth of information on here and then each time this gets processed. So I finish the video, it is being watched, then it goes from daily raw. So whenever I drop in a video on here, now I render it to SSD because that's a whole another thing, but it would basically get the audio off. But as soon as I get that done, it's encoded. Then I drop it in here. Boom. Kicks it off. Goes off. It's triggered. Post-processing happens. All these assets are created essentially. And then I have all of them in here. And so the next step of this is to break this out to subdirectories based on the title of the video. So in a later automation, I'll be dealing with finding out what's coming up. What is the signal versus the noise? The research part of coming up with the video topics will help me kind of sift through the noise. And then the title that I actually render the video out to will be used for naming the subdirectories within here and then all the assets that are associated. So it's generating the subtitles, it's generating the video files, it's generating a JSON that determines who's speaking and it's just me. It'll also export an HTML file. So if I dump this, this is all through a phonic by the way, which I was going to not rely on them early, but it seems fine for now. probably just use their services later and do functions myself. But outputs to this is the summary so I'll never miss chapter markers. I'll always have these summaries and this is like an 8-second thing. It includes the tags as well and then all of this gets auto uploaded to two channels. Now if you didn't have the bucket and you were using a phonic then you could not do it. So that's why you need the bucket. It's S3 compatible. And so that's where this is at now. And then the next step that I'm working on is thumbnails. And this brings up the PRD stuff. So, everyone's trying to make thumbnails and the only ones that are good that are AI generated are ones that you get with no text and you typically see like multiple steps. So, step one would be a background generator and you define the type of background that you want. So, you have a system prompt or your base prompt. they to do. So, oh, I want to have, in my case, take the context of the video title. So, if it mentions agent warehouse, cool, warehouse. Let's get a warehouse with agents in it. That's going to be added to the base prompt, which is studio jibli style for ease, but eventually something that's unique, not jibli, right? But then that's going to generate the background. you're using imagin 3 from GCP. Once you've returned that, then it's on to step two, which is notify me in Discord with a web hook. And we don't have to worry about any sort of stateful stuff. And this does play back into this PRD because this is how I got here. This idea wasn't this detailed before. This is all the PRD process. But then I reply one through four with the images. So I get four options for the background asset one. I say numbers 1 through four. We have validation around it. Then cool. That kicks off to the second step, which is okay. Well, we need to get the subject, which in this case would be me. The way we're going to do that is when I have this full screen up, each second that goes by, I have 60 frames to select from. We're in 4K. So, I see now looking at OBS, I'm at 60 fps. It's going to run through and find when we're at this full screen, right? Because I don't want to have the screen shot like I don't want this view to be a candidate. So, we use ffmpeg with some logic around that to pick the candidates for the subject me. And then that goes into the same kind of process with a different base prompt which will then generate the assets of me the subject and it'll send it back to Discord and say hey which one do you like the most? Boom. Reply with two. Takes two. Now we've have basically two steps. Human in the loop on both. I'm getting pinged. Whenever I go upload within 10 minutes I should have these options. Boom. Boom. Done. Third step. text. Use a framework that's already been done. Oh, I missed it on the second one is remove background. So, we want to pull the background off of the frame. And we'll use a a library out of Python for that, which we'll find out in here. And then now we have those assets. Third step, text. I'm going to try out pillow. So, pillow, I think, is in here. Yeah, pillow is supposed to be really good for this. And I haven't used it before, but it is supposed to be awesome. and exactly what I need because at the end of the day, you're just drawing a canvas and then assigning the assets for them. So, you'll notice with Lex Freedman podcast, his always looked the same. Designers have templates, coders have templates. So, we make a template that is dynamic based on the assets that are coming into it. So, I'll have a place for the text. The text will always be in one spot and I'll do that for a long time until I get bored and then change it. You can also like rotate that in conditionally. So if I had different types of templates then I can do that. So then we have the text and you can add shaders, you can add drop shadows, all that stuff. And then I'll finally get at the end of it the asset. And all that said that came out of this process. And before I'd actually go and build and automate the whole thing, I want to highlight that I always go and I do it manually. And this goes into Elon Musk's five-step algorithm where it automates the last one. So, while I've made this PRD and it helped me think through the product strategy, I'll actually go and I'll do those parts manually. So, the first one would be the background generation. I've done that a lot of times, so I don't necessarily need to do it, but if I hadn't, it would be silly to try to just automate the whole thing, right? So, you look at the requirements that you have and then you try to kill a bunch of them. If you're not removing stuff, you're not doing it right. and then you question the requirements and then you speed up the cycle time of how fast you could do it before automating. So that's what I've been doing before and then ultimately you would automate last and I only I only need like four steps there but that's the gist of it. So when it comes to the actual PRD then what I did was I wanted to reduce steps. So I had stuff that was dealing with these triggers and the serverless edge fun or serverless functions on cloud run with cloud functions and I realized I don't even need those. Threw them out. Kept in all the YouTube off stuff because I'm going to need that again later for shorts because I'll use ffmpeg and some prompting to basically pick out the engaging pieces of the content. But removed a bunch of stuff I didn't need by questioning the requirements. Figured out how to configure it with a phonic. Now we talk about the PRD. So I come in and I always try to basically before I just jump into a prompt like no prompt that I give you is going to make you good at product strategy. You have to think. You have to use your brain. You have to use that muscle. That muscle won't atrophy. In fact, that's the one that has staying power. As the models get better, they'll be better at helping you flex that muscle. And it'll also be okay if you have zero muscle because you just ask questions and you say, "I'm not really sure how I want to do this. this is the outcome that I want. And as you do that more and more and more and more, then you're going to know these tactics of like, oh, I've used this thing before, so let's use that. And you save on compute and then you get through less threads. Like my threads for product strategy will be a lot shorter than yours because I've been a technical product manager, a product manager, a UX designer, and an engineer. But when it comes to this, I go through and I ideulate and I say, I'm really not really sure like how this is going to work, but here's the files that we get and I want this rough flow and I'll kind of work on that a few times and do a little research and go check myself maybe and then I'll ultimately throw in a prompt. So I'll do the at one and then I go to the prompt variable which is this PR instructions and that's where I'm taking the thing that I had worked through. So before I start recording, I've been working out of this tech talk for like 15 20 minutes, just trying to think through how would I do this based on having done it manually before based on the knowledge that I have of discovering all these awesome tools and and stuff inside GCP and then leveraging messaging as my human in the loop thing because Discord has web hooks and it's really easy. So then I come out of that and now I get the first draft and I actually read it. You have to read these things because there could be a lot of stuff in here that you just don't need. Especially around timelines, especially around compliance. These things don't need to know about that. It's just going to slow you down. So, I'm coming in here and it says, "Oh, we could use rebg." So, if it mentions a library, I would type in perplexity and I'd be like rebg use cases and reviews Reddit. Reddit always will flame it. If it's bad, Reddit's going to let you know. So it's popular open source for product photography batch processing videos of praise for use use offline free oss great now it's going to get into Reddit limitations are around hair and motion blur not always the best for people so I might look into that but I'm fine with it I think that it's the one that is free easy to use mostly people like it so works 100% on offline I don't really care about that quality is good hair removal is perfect to get the flow So I look at that and I'm like, "Okay, cool." But you're doing all these little steps so that when you get your final output, it's awesome. And then image comp using pillow to combine the background, text, image, and process subject onto predefined template of 1280 by 720. And I think that's right or it's 1920 x 1080. I think it's I want to say it's I want to say that's wrong. Let me just check. So here we have me doing it manually, right? It's always background, subject, text, and then for these fancy ones, I just won't do them until I make better templates, but it's the same thing. So, what size is this? Share. Oh, actually, let me just grab one. It's easier. Bumbo. Get info. Yeah, it's 1,600 by 900. So, we want to change that. So, I'll accept this just for this case. 1280 by 720,600 by 900. Cool. So now we found one error. Cool. Configuration storing prompts. Out of scope is this config because I already did this. Direct YouTube uploading. That's already done. Hosting a Discord bot itself. Out of scope. Yes. Utilizing. But maybe that'd be a good idea. I'd be curious. Shorts uploading future. Good. And then it goes through functional requirements. Good. It should be covering stuff around the subdirectory and whatnot. So then as I'm going through this, you can see like that's a first draft and then I say I need to answer these open issues. So determining the definitive method for background removal. Well, yeah, we could use AI, but why would you? Because it's going to burn tokens. It might not be as accurate. It is something that is specific to this one thing. So we don't want to do that. So then I answer the questions. I say let's use pillow for constructing the assets. Then I go on to explain other things and answering the questions. And then I provide more context saying like, "Hey, there's probably something in our project we can already use. Here's the packages." It goes and it updates it. And then after I get the update, I answer any other final things. And then I say, "Now update the final draft of the PRD including all the previous context." Now, this won't even be the final one because then I get that and I say, "Okay, good. Now rewrite it in the format that Taskmaster likes because that's the one that it's optimized on. And so when you get Taskmaster, it's inside scripts. And I also keep a folder of things in the future that I want to do because this one will be out of scope. Like this is just an idea for the next one which is we need blog posts, we need social media carousels, we need Instagram posts, we need twe uh tweets and that will require a lot more tweaking obviously because you don't want to just go blast slop at scale. This is going to be very very personalized and very very specific to the stuff and style that I have so that I don't look like an NAN spam boy which is what a lot of people look like frankly. And so that would include enthropic replicate yada yada yada maybe just do it in imagining with their fine tune because I'm going to get all of these that's thing the thing is is like more of these that I make the more of them I'm going to be saving back to a bucket to then train on to then figure out how do we make them even better which is cool. So when I finally do have all this then I'd go and I'd read through all of it. I'm not going to read it to you but that's the process. I think it would be really helpful for you guys to just take that same thing of, you know, map it out in your head. If you need to draw it out, that's cool, too. Try to think of all the functional and non-functional requirements for your first draft. Take that first draft, throw it through a PRD, answer any of the open questions, provide relative paths, throw it back into the PRD that makes it friendly with Taskmaster. And then finally, you're off to the races. It'll save you so much more time if you spend the time up front doing the planning where then you're not answering questions. You're not saying, "Oh, I forgot about this. Like, we need to add that one in there." It turns into a mess and it makes it less enjoyable. You want to have more enjoyable time. And if you like the video, make sure you like it, obviously. And then you should check out Vibe with AI. We're going to be launching a new platform very very soon where it's not just the typical school thing with a bunch of the lessons which is really helpful and totally underpriced by the way because I see people selling courses for $500 for one of the things that I have and I'm like this is bananas but I'm doing this for like long-term long game of building the community because I want to be outside of the tech desert that I live in. We're having a lot of fun in the Discord as well. We did a bunch of live streaming today when I've set up a VPS where I'm pretty sure I can get a $14 VPS from Germany set up that will outperform spending like $500 on I don't even want to say the names of them. But we have a lot of fun on the Discord. Check out the school and you can also see me over on my daily channel. But that's it for now. Drop a comment if you want the PRD that I've been putting in here. If you've already commented PRD, I'm sorry. I've just been rushing to get this new platform out because I update these things a lot and frankly it sucks if you use something that isn't as good as the one that I'm using. And also I'll be gathering emails so I can basically send them out. It won't require an email by the way. So it's optional with the Google tap one sign in anonymous. It's cool. All right, that's it for today. Enjoy your Saturday or whenever you're watching this and I'll see you next time. Oh, subscribe. Did you subscribe yet?