So You Want to Build AI-Generated Apps And You Know Absolutely Jack about Computer Science? (vol. 2)
You're building a building without a blueprint
Your app idea is incredible. It’s flawless, perfect.
You typed in your perfect app description exactly the way you wanted it in the prompt and hit submit, nearly bursting with excitement, barely able to wait to see the AI agent bring your vision to life.
Then shortly later… “what the fuck is this shit??”
The button’s totally in the wrong spot, the layout and colors look like shit, and it omitted a whole entire section you asked for.
—That’s it. Pack it up. AGI is canceled. AI is overhyped GARBAGE!
Maybe.
Or maybe, consider perhaps your descriptions of what you want aren’t as good and clear as you think they are.
The problem of getting your immaculate, perfect ideas as they exist in your head out into the world through the limiting filter of words, is a challenge that’s not new or unique to the AI age. It’s a problem that has persisted since the first humans came up with speech and writing.
The full extent of how much of a problem this actually is for humans is exposed only when you attempt a task that requires perfect precision based on your words: legal writing, STEM papers and formulas, and…. coding.
these kids are you and your prompts, the sandwich is your AI generation:
No one can see perfectly inside your head. Our best efforts at making others see what’s inside our heads fall short because words, in the colloquial way we use them, fall short.
Luckily over the centuries, people were quite ingenious and came up with partial solutions to this:
Legalese and technical writing.
Technical drawings and blueprints.
Mathematical formulas.
and in software, the PRD, or project requirements document, aka project spec, aka tech specs.
With no technical background or instincts, your vibecoding attempts inevitably degenerate into a batshit crazy mess for one primary reason above all others:
You have no PRD.
With no PRD, you are effectively building a building with no blueprint.
You are trying to pass a law through congress written in crayon on a napkin.
Your are building a rocket ship having never done the calculations for how much thrust it needs to get off the ground.
“But If i knew how to make those nerd documents, I wouldn't be here reading this article about how to build AI apps better!”
Right, but you know who is great at building a PRD? your friends Gemini, Claude, and ChatGPT.
Prompt [dictated using voice input on your phone, while you pace around your backyard or on a forest hiking trail]:
“I want to build an app that does…[ insert longwinded, sometimes incoherent and self-contradictory, stream-of-consciousness app explanation ]. can you help me make sense of those ideas and draft a PRD for my app?”
Boom. Achievement Unlocked, +20xp. You’ve just taken the first step to becoming a real software developer!
In the big leagues, we don’t stop there with a simple description document. You might have: marketing copy that establishes the main value prop of the app. User stories document(s). Project architectural overview. Tech stack outline. Front end spec and standards document. Back end spec document. Full database schema. Visual and branding style guide document. etc.
Go wild with documentation before a single line of code is written for you. Don’t stop with just the ones I’ve mentioned. There really is no risk of over-specificity. Don’t understand what goes in those document types? Ask AI what’s typically contained in those documents I mentioned, and then to build them for you.
All of my AI generated app projects start with a /docs
folder in the project root before a line of code is written, and can contain up to like 20 spec documents.
I suggest using markdown format for your documentation (ask AI), but .txt works as well. Markdown will make it very browsable when it’s shared online, and it embeds additional semantic meaning in the docs that AI can use by identifying headings and sections, etc.
You might find Notebook LM or Chat GPT’s projects feature particularly helpful in assembling all your notes, interviews, style inspirations and more in one place for chatting against and refining the perfect PRD docs. It’s the Pinterest for neurodivergent engineers.
That’s all for today, subscribe to come back for more, we have a lot to cover in this series.
If you are just joining us, catch up with part 1 of the series here:
Vol 1.: Day 1 Ground Floor Basics To Help You Out
If you want me to cover a specific question or topic, comment below.
If you have found this useful to your vibecoding, you can support me by buying me a coffee:
Neat, PRD is a new noun for me. I have been making just one .md of a project overview, i never knew it could be expanded like your pic
When you are now working on the project (take the one of in your image with 6 .md files), what do you keep in the context of each new chat on cursor? Do you drag all of them into each context window?