When using AI for complex but solved problems (like user permissions), don't jump straight to code generation. First, use the AI as a research assistant to find the established architectural patterns used by major companies. This ensures you're building on a proven foundation rather than a novel, flawed solution.

Related Insights

For niche tasks, leverage an AI model with deep domain knowledge (like Claude for its own 'Skills' feature) to create highly specific prompts. Then, feed these optimized prompts into a powerful, generalist coding assistant (like Google's) to achieve a more accurate and robust final product.

Building complex, multi-step AI processes directly with code generators creates a black box that is difficult to debug. Instead, prototype and validate the workflow step-by-step using a visual tool like N8N first. This isolates failure points and makes the entire system more manageable.

Even though modern AI coding assistants can handle complex, single-shot requests, it's more reliable to build an application in stages. First, build the core functionality, then add secondary features, and finally add tertiary elements like download buttons. This iterative approach prevents the AI from getting confused.

High productivity isn't about using AI for everything. It's a disciplined workflow: breaking a task into sub-problems, using an LLM for high-leverage parts like scaffolding and tests, and reserving human focus for the core implementation. This avoids the sunk cost of forcing AI on unsuitable tasks.

Instead of asking an AI to directly build something, the more effective approach is to instruct it on *how* to solve the problem: gather references, identify best-in-class libraries, and create a framework before implementation. This means working one level of abstraction higher than the code itself.

Even for a simple personal project, starting with a Product Requirements Document (PRD) dramatically improves the output from AI code generation tools. Taking a few minutes to outline goals and features provides the necessary context for the AI to produce more accurate and relevant code, saving time on rework.

Borrowing from classic management theory, the most effective way to use AI agents is to fix problems at the earliest 'lowest value stage'. This means rigorously reviewing the agent's proposed plan *before* it writes any code, preventing costly rework later on.

To get AI agents to perform complex tasks in existing code, a three-stage workflow is key. First, have the agent research and objectively document how the codebase works. Second, use that research to create a step-by-step implementation plan. Finally, execute the plan. This structured approach prevents the agent from wasting context on discovery during implementation.

For complex, one-time tasks like a code migration, don't just ask AI to write a script. Instead, have it build a disposable tool—a "jig" or "command center”—that visualizes the process and guides you through each step. This provides more control and understanding than a black-box script.

To prevent AI coding assistants from hallucinating, developer Terry Lynn uses a two-step process. First, an AI generates a Product Requirements Document (PRD). Then, a separate AI "reviewer" rates the PRD's clarity out of 10, identifying gaps before any code is written, ensuring a higher rate of successful execution.