# Overview (/docs/build)



Blocks, integrations, trackers, data: everything in an Appbrew app that you can build on comes down to the same pattern. Write a component or class, register it under an id, and let config decide where it runs. The tutorials in this section walk through each of those, start to finish, with working code.

If you are new to the platform, read [Concepts](/docs/concepts) first. Every page here assumes you know what a screen, a block, and the config are.

## Which pages apply to you [#which-pages-apply-to-you]

**Merchant developers**: you work in a single app repo, building blocks for one store. Start with custom blocks, keep the element catalog open next to it, and read metafields when your block needs store-managed data.

**Partner developers**: you build an integration package that many apps install. Read the same block pages (your blocks are just blocks that live in a package), then the integration and tracker pages, which are specific to your track.

Everyone finishes with [Testing your work](/docs/build/testing) before handing anything off.

## Build UI [#build-ui]

<Cards>
  <Card title="Custom blocks" href="/docs/build/custom-blocks">
    A worked block, from config interface to on-screen placement.
  </Card>

  <Card title="UI elements catalog" href="/docs/build/atoms-catalog">
    Every atom, helper element, and layout element you compose block UIs from.
  </Card>

  <Card title="Metafields" href="/docs/build/metafields">
    Read product, collection, and shop metafields with typed, null-safe hooks.
  </Card>
</Cards>

## Build an integration [#build-an-integration]

<Cards>
  <Card title="Build an integration" href="/docs/build/integrations">
    Scaffold a package, ship blocks and a tracker, and declare your manifest.
  </Card>

  <Card title="Analytics trackers" href="/docs/build/analytics-trackers">
    Forward app events to your platform: whitelists, mappers, and config wiring.
  </Card>
</Cards>

## Verify [#verify]

<Cards>
  <Card title="Testing your work" href="/docs/build/testing">
    The verification loop and the pre-handoff checklist.
  </Card>
</Cards>

## Surface guides [#surface-guides]

Deeper guides for specific app surfaces are being written: checkout, customer login, discounts and cart, post-purchase, push notifications, deep links, integration settings forms, and the webview contract. The tutorials above are self-contained and do not depend on them. If you need one of those surfaces before its guide lands, [ask](/docs/start/getting-help).
