# Build a headless frontend

Build the frontend a [Drupal Canvas](/start-here/glossary/#drupal-canvas) site renders through. [Canvas Headless](/start-here/glossary/#canvas-headless) is the recommended way to build a frontend on Source CMS. The [quickstart](/source-cms/get-content/quickstart/) is its path: scaffold the app from the Canvas starter kit (or wire in one you have), make it the renderer for the Canvas editor, and place your own components on a page. [Components](/source-cms/get-content/components/) covers how the parts editors place are created and kept in sync.

The advanced path reads content as data: beyond the pages Canvas composes, the app builds its own listings and detail routes over [JSON:API](/start-here/glossary/#jsonapi). The fetch layer for that lives in [Work with content via the API](/source-cms/content-api/), starting at [First fetch](/source-cms/content-api/first-fetch/); [Render content](/source-cms/get-content/render-content/) turns it into pages in the app.

Images, video, and documents can arrive by another route. A team whose approved assets live in Acquia DAM reaches them through a separate product with its own API, SDK, and access token, and serves most of them from a CDN rather than fetching them at all.

- [Quickstart](/source-cms/get-content/quickstart/): Scaffold a frontend app, register it with your site, and have the Drupal Canvas editor render its preview through your app with your own components placeable by editors.
- [Components](/source-cms/get-content/components/): Where a Canvas Headless app's components live, how they get their identity, and how they synchronize with the site, with nothing to push.
- [Wire an app you already have](/source-cms/get-content/wire-an-existing-app/): Install the Canvas Headless SDK and your framework's adapter in an existing app, wire it, and reach the same registered state the quickstart's scaffold gives you.
- [Render content](/source-cms/get-content/render-content/): Fetch one entry by its UUID for a detail route, render rich text and images safely, and page through a listing. The step from "titles in a list" to a real content site.
