1.4CORE PATH

When Not To Use Ai To Write Your Code

Counterintuitive section, but the most important one in Part 1. If you read nothing else, read this.

There are situations where you should not use a coding agent. Recognizing them is what separates competent vibe coders from people who waste hours fighting their tools.

DON'T use AI when the task is faster to do by hand. Renaming three files, running a SQL query you've run a hundred times, copying a config from one folder to another — typing it is faster than describing it.

DON'T use AI when you can't verify the output. If you don't know enough about what you're asking to tell whether the answer is right, you are not vibe coding. You are gambling. Examples: cryptography, financial calculations involving real money, anything HIPAA-related, anything that modifies a production database without a backup.

DON'T use AI for tasks where the cost of being wrong is high and the output looks plausible either way. Tax calculations. Medical dosing logic. Legal document generation. Authentication and authorization code. The agent will produce confident, well-structured, professional-looking code that is wrong in ways you will not catch.

DON'T use AI when the problem is "I don't know what I want." If you can't describe the problem clearly, the agent cannot solve it. You will iterate in circles, each iteration sounding more like the last, never converging. Step away from the keyboard. Write the requirement on paper. Come back.

DO use AI when the task is well-specified, the cost of being wrong is low or recoverable, and you can read the output well enough to verify it. Most of the work most small businesses need software for falls in this category.

There's a name for the category these examples fall into: AFD. Actually Fucking Dangerous. Code that, if it's wrong, hurts someone who isn't you. Health and dosing logic. Authentication and access control. Anything touching children's data. Anything touching seniors' financial accounts. Anything that controls a physical device a human depends on. Anything where the failure mode is "someone gets hurt" or "someone gets exposed."

The AFD test is not "can vibe coding produce this?" Vibe coding can produce most of it. Vibe coding can get you 90% of the way to a working medication-dosing calculator. The test is: when you're 90% of the way there, do you know enough to spot the 10% that's wrong? For AFD code, the honest answer for most readers of this curriculum is no. And for AFD code, "no" is a stopping condition, not an iteration prompt.

The AFD pattern, then: get as close as you can with the tools in this curriculum, then stop and bring in a senior developer, a licensed professional, or a domain expert who is liable for the result. Not because you can't get there. Because when you're wrong, the person paying for it isn't you. That's a real ethical line, and it lives outside the cost-of-wrong filter that follows.

The cost-of-wrong filter is the most important one. Always ask: "If this code is subtly broken and ships to production, what's the worst that happens?" If the answer is "I lose an hour fixing it" — fine, vibe code it. If the answer is "I lose a customer's data" or "I get sued" or "I miscalculate someone's taxes by $40,000" — write it yourself, or hire a human who is liable for the result.

================================================================================ PART 2 — REQUIREMENTS, SPECS, AND PROMPTS

Curriculum last updated 2026-04-30