# Build an application

The app builder edits an app's definition: the components people see, how they are arranged, where their data comes from, and what happens when users interact. It is available for apps with stored editable definitions.

Open the app workspace and choose **Edit app**. The builder uses one working document across its Canvas and Code views.

## Find your way around

- **Insert:** search the component catalog and add a control, view, or container.
- **Outline:** inspect the component hierarchy, select nested items, and move or remove them.
- **Data:** add and configure workflow-record sources or another app's published output.
- **Properties:** edit the selected component's id, region, size, visibility, supported properties, and events.
- **Canvas:** arrange the design in Edit mode, or use Interact to try supported local behavior.
- **Code:** edit the same definition as JSON for advanced configuration.
- **Preview:** keep a rendered view of the live draft alongside your editing surface.

## Build a useful first path

1. Insert the components for one task, such as a text input, button, and table.
2. Add the workflow-record data source that supplies the result.
3. Bind the output component to the source's data.
4. Wire a supported event to the action that performs the task.
5. Arrange the controls and result in a clear reading order.
6. Check Preview and resolve the reported problems.
7. Choose **Save**, return to Overview, and test the saved app with real execution.

The builder preview can read permitted records, but it does not start real backend workflows. A functioning layout is not yet proof that a workflow-backed task succeeds.

## Protect your work

Undo and Redo operate on editing history. Local draft recovery protects unsaved work across supported reloads, while Save persists the definition to Strive. Another writer can change the app while you edit; review the save-conflict choices instead of assuming an automatic merge.

Saving is different from deploying the runtime and from publishing or activating a fixed release. Follow [Saving and conflicts](/docs/builder/saving-and-conflicts), [Start and stop](/docs/apps/start-stop), and [Releases](/docs/apps/releases) for those stages.
