> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leapter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# From Scratch

> Create an empty Blueprint and build your logic step by step on the canvas.

If you prefer to build your logic manually — or need full control from the start — you can create an empty Blueprint and add elements one by one on the canvas.

## How to create an empty Blueprint

### Step 1: Open the Create Blueprint page

When you open an empty project — one with no Blueprints yet — Leapter takes you straight to the **Create a Blueprint** page. If you don't have an empty project, create one from the [Projects page](/fundamentals/projects).

### Step 2: Start with an empty Blueprint

Click the **Start with empty blueprint** button at the bottom of the page. Leapter creates a new Blueprint and opens it in the [Blueprint Editor](/fundamentals/leapter-canvas/introduction), maximized into the [Diagram view](/fundamentals/leapter-canvas/diagram-view) so you can start building right away.

<img src="https://mintcdn.com/leapter/sFmIRxFaV3bB8R9b/images/create-blueprint-empty.png?fit=max&auto=format&n=sFmIRxFaV3bB8R9b&q=85&s=3ba716e3ed635bbe6f99f82ead3024fd" alt="Empty Blueprint with the Start node and element palette ready next to it" width="898" height="250" data-path="images/create-blueprint-empty.png" />

You start with:

* A **Start node** (green circle) — the entry point where execution begins
* An **element palette** — a row of icons next to the Start node for adding your first element

The Contents sidebar on the left shows your project structure, including the empty **Inputs and Outputs** section — you'll define these as you build your logic. See [Inputs and Outputs](/fundamentals/leapter-canvas/inputs-and-outputs).

## Building your Blueprint

### Add elements

Click an icon in the element palette to add an element to the canvas. The palette has seven icons covering these element types:

| Element                           | Purpose                                                          |
| :-------------------------------- | :--------------------------------------------------------------- |
| **Assignment**                    | Perform calculations and store results in variables              |
| **Decision**                      | Create conditional branches (if/else logic)                      |
| **Loop with counter** (`for`)     | Repeat a section of logic over items in a list or with a counter |
| **Loop with condition** (`while`) | Repeat as long as a condition stays true                         |
| **Error**                         | End the Blueprint with an error condition                        |
| **Return**                        | End the Blueprint successfully and return output values          |
| **Call**                          | Execute another Blueprint as a sub-routine                       |

After you place an element, a new palette appears at its output, letting you chain elements together. You build the flow left to right, top to bottom.

For a detailed guide on each element, see [Controlling the Flow](/fundamentals/leapter-canvas/controlling-the-flow).

### Define inputs and outputs

Your Blueprint needs data to work with. In the **Data** panel on the left side:

1. Click **Add** next to **Inputs** to define what information your Blueprint receives
2. Click **Add** next to **Outputs** to define what results it returns
3. Give each parameter a name, type, and description

For detailed guidance on configuring parameters, see [Inputs and Outputs](/fundamentals/leapter-canvas/inputs-and-outputs).

### Configure elements

Double-click any element on the canvas to configure it:

* **Decision nodes** — set the condition expression and define branches
* **Assignment nodes** — write the calculation or value assignment
* **Loop nodes** — specify what to iterate over or the loop condition
* **Call nodes** — select which Blueprint to call and map its inputs

## When to start from scratch

Starting from scratch works best when:

* You have a clear picture of the logic and want to build it step by step
* You want to learn how Blueprint elements work by placing them yourself
* You need a very specific structure that AI generation might not produce
* You're building a small helper Blueprint (like a lookup table or simple calculation)

For most use cases, [generating with AI](/fundamentals/create-blueprint/ai-prompt) is faster — you can always refine the result afterward.

## What to do next

1. **Add your elements** — build out the flow by chaining decisions, assignments, and returns
2. **[Test as you go](/fundamentals/test-your-blueprint)** — click the green play button on the Start node to run your Blueprint at any point during development
3. **Use AI to help** — press **Ctrl+I** (**Cmd+I** on Mac) to open the [AI editing](/fundamentals/change-your-blueprint/ai-editing) prompt, which can modify selected nodes or add new logic based on your instructions
