Duck
Tutorials8 min read

How to Build an AI Project Maker That Actually Works

Samet Turan— Editor··8 min read

Stop wrestling with unreliable prompts. Learn the operator's playbook for building a stateful AI project maker that generates structured, actionable tasks.

You Don’t Need a Better Prompt, You Need a Better System

You have a problem. You want to feed a simple goal like “Launch a podcast” into an AI and get a structured, actionable project plan back. But your prompts produce a messy, unreliable wall of text. Sometimes it’s a bulleted list, sometimes it’s a paragraph, and half the time it hallucinates steps that make no sense. This article shows you how to stop prompting and start building a real ai project maker. You’ll learn how to build a stateful system that uses an LLM as a component, not a magic eight ball.

The Core Stack: What You Actually Need

Forget the fancy AI agent frameworks for a minute. The stack for a production-ready project maker is surprisingly simple and doesn’t require writing a line of Python. You need three things: a database, an orchestrator, and an LLM API.

🤖
Recommended Reading

AI Side Hustles

12 Ways to Earn with AI

Practical setups for building real income streams with AI tools. No coding needed. 12 tested models with real numbers.


Get the Guide → $14

★★★★★ (89)

  • Database: Airtable. It’s a spreadsheet on steroids. It’s visual, has a great API, and its automations are easy to work with. The free plan is generous enough to get started, but you’ll hit the 1,200 record limit fast. Honestly, the $20/mo Plus plan is the real starting point for any serious project. I use it to store the initial project goal, the generated tasks, their statuses, and dependencies.
  • Orchestrator: Make.com (formerly Integromat). This is the glue. It’s a no code AI tool that connects Airtable to your LLM. When a new project goal is added to Airtable, Make.com triggers a workflow, calls the LLM, parses the response, and creates new task records back in Airtable. I prefer it over Zapier automations for this kind of multi-step logic because its visual error handling is just better. You can see exactly which module failed and why.
  • LLM API: OpenAI (GPT-4o) or Anthropic (Claude 3 Sonnet). Your choice. OpenAI’s structured JSON output is a lifesaver. It completely removes the need for brittle regex parsing. Anthropic’s Claude 3 Sonnet is incredibly fast and cost-effective, but getting structured data back can be a bit more work. My current gripe is that the documentation for Claude 3 Sonnet API rate limits is a nightmare to find. You basically have to hit the limit to discover what it is, which is not ideal for a production system.

That’s it. A database to hold state, a workflow tool to run the logic, and a brain to do the thinking.

What Most Guides Get Wrong

Almost every tutorial I’ve seen on this topic makes the same fundamental mistake. They treat it as a single-shot prompt engineering problem. They spend ages refining a massive, complex prompt that tries to do everything in one go: understand the goal, break it down, define the steps, estimate time, and format it perfectly.

That approach is fragile. It breaks the moment the user enters a slightly ambiguous goal.

The correct approach is to build a system that orchestrates multiple, simpler LLM calls. The AI project maker isn’t one prompt. It’s a state machine. The first call might be to decompose the main goal into 3-5 high-level phases. Then, for each phase, a separate, more focused LLM call breaks it down into granular tasks. This is a much more reliable ai automation blueprint because each step is simpler and has less room for error.

Your orchestrator (Make.com) manages the state. It knows which phase it’s currently processing and which tasks have been created. The LLM doesn’t need to remember the entire project context in a single chat history. It just needs to perform one specific job at a time, like “Break down the ‘Record First 3 Episodes’ phase into specific tasks.”

How Do You Stop the AI From Hallucinating Impossible Tasks?

This is the million-dollar question. You can’t just ask the LLM for “a list of tasks.” You need to constrain its output heavily. The goal is to force the AI to think within the structure you define. I do this by providing a strict output format in the system prompt, often using XML tags, and demanding a specific set of fields for each task.

Here’s a simplified version of a system prompt I use with Anthropic’s Claude 3:

You are a project management assistant. Your job is to break down a high-level user goal into a series of concrete, actionable tasks. For each task, you must provide a task name, a one-sentence description, and a list of dependencies (if any). You MUST format your response as a JSON object containing a list called "tasks". Each item in the list should be an object with three keys: "task_name", "description", and "dependencies". Do not include any preamble or explanation in your response. Only output the raw JSON.

Then, the user prompt would be something like:

Goal: Launch a weekly tech podcast.

By demanding JSON, you make the output machine-readable. My love for this feature is immense. It’s the difference between a reliable automation and a script that breaks every third run because the LLM decided to add an extra sentence at the beginning of its response (which, if you’ve ever tried to parse raw LLM output, you know is a recipe for disaster).

You also need to give it an “out.” I often include instructions like, “If a task seems too complex or requires information you don’t have, assign it to a ‘Research’ category and flag it for manual review.” This prevents the AI from just making things up to fill a blank space.

Stitching It Together: The Operator’s Playbook

Let’s walk through the actual flow. This is the operator playbook for building your AI project maker.

  1. The Trigger: Create an Airtable base with a ‘Projects’ table. The trigger for the whole automation is a new record being added to this table with just one field filled out: ‘Project Goal’.
  2. Decomposition Call: The Make.com scenario triggers. The first module is an HTTP call to the OpenAI or Anthropic API. It sends a prompt designed to break the ‘Project Goal’ into high-level phases (e.g., ‘Pre-Production’, ‘Production’, ‘Launch’, ‘Post-Launch’).
  3. Parse and Create Phases: Make.com receives the JSON response. It iterates through the list of phases and creates a new record for each one in a ‘Phases’ table in Airtable, linked back to the original ‘Projects’ record.
  4. Iterate and Detail Tasks: Now it gets interesting. Make.com then triggers on each *new* phase record. For each phase, it makes a second, different LLM call. This prompt is more specific: “Break down the phase ‘[Phase Name]’ into granular tasks. The overall project is ‘[Project Goal]’.”
  5. Parse and Create Tasks: The response, again a clean JSON object, is parsed. Make.com iterates through the tasks and creates records in a ‘Tasks’ table in Airtable, linking them to their parent phase.
  6. Dependency Linking (Advanced): For a more advanced setup, the LLM can also identify dependencies between tasks. Your Make.com scenario would need an extra step to find the corresponding Airtable record for each dependency and link them. This is where most no-code builders give up, but it’s what makes the system powerful.

This multi-step, iterative process is more resilient than a single-shot prompt. If one part fails, you only have to re-run that small part of the automation, not the entire thing.

How to Debug When Your AI Agent Goes Rogue

It will break. At some point, the LLM will return malformed JSON, an API will time out, or your logic will hit an edge case you didn’t anticipate. Panicking is not a strategy.

The single most important thing you can do is log everything. Create another table in your Airtable base called ‘API Logs’. In every single Make.com module that calls an LLM, add a final step that creates a new record in this log table. What do you log? Everything.

  • The exact timestamp.
  • The full prompt sent to the API.
  • The full, raw response received from the API.
  • The HTTP status code (200, 429, 500, etc.).
  • A status field (e.g., ‘Success’, ‘Parse Error’, ‘API Error’).

When your project maker fails to create tasks for a new project, your first stop is this log table. Filter for the project ID and look at the most recent logs. Is there an API error? A 429 error means you’re being rate-limited. A 500 means the LLM provider is having issues. Is the response text there but no tasks were created? Copy the raw response into a JSON validator. You’ll probably find the LLM missed a comma or a closing bracket. Now you know the problem is with your prompt’s resilience, not your Make.com logic.

This log is your ground truth. Without it, you are flying blind.

This entire system might seem complex, but it’s built from simple, modular pieces. You can assemble the whole thing in a weekend without writing custom code. It’s a real asset that solves a common operational headache.

If you want the deep cut on this, deeper coverage of AI agent platforms.

If you’d rather skip the build and deploy a working version in an afternoon, we’ve packaged this entire workflow as a prebuilt ai project maker blueprint. You can find it at deepusecase.com/vault.

— The Colophon

One AI tool. Tested. Reviewed.
In your inbox every Sunday.

~3 minute read. Real outcomes from operators, not marketers.

Free. One email per Sunday. Unsubscribe in one click.