# Analytical apps overview (/docs/analytical-apps/overview)



An **analytic app** takes your raw data, shapes it into the results you care
about, and presents those results in a **Visualisation** your team works in. It is
the right kind of app when you have spreadsheets or files to clean, combine, and
turn into tables and charts.

## The three parts of an analytic app [#the-three-parts-of-an-analytic-app]

Every analytic app is made of three parts, each with its own panel in the app.

* The &#x2A;*[Data Pipeline](./pipeline/overview.mdx)** is where you shape your data:
  bring it in, then transform it step by step.
* The &#x2A;*[Visualisation](./visualisation.mdx)** is what your teammates work in, built
  from the results of the pipeline: tables, charts, filters, and inputs.
* The &#x2A;*[Knowledge Base](./knowledge-base.mdx)** is a place for notes and context
  about your data. It helps you, and it gives Vera the background it needs to build
  a better app. Its **Skills** tab is where you save
  [reusable AI questions](./skills.mdx) for the app.

## Build with Vera first [#build-with-vera-first]

The easiest way to build an analytic app is to ask **Vera**, the AI assistant.
Describe what you want in plain language, for example "import this sales file,
total revenue by region, and chart it", and Vera sets up the pipeline, the
Visualisation, and the knowledge base for you. No SQL or technical knowledge
needed. See [Build with Vera](./build-with-vera.mdx).

The rest of this section explains each part so you can review what Vera builds, or
build and adjust the pieces by hand when you prefer.

## The build loop [#the-build-loop]

Building an analytic app by hand follows a simple loop:

1. **Bring in data** by adding a dataset and importing a file.
2. **Transform it** with steps that clean and combine your data.
3. **Run** the pipeline so every step processes and produces fresh results.
4. **Build the Visualisation** on those results with widgets like tables and
   charts.

You repeat this loop as your needs change: adjust a step, run again, and the
Visualisation updates.

## The editor, Run, and Publish [#the-editor-run-and-publish]

You build in the **editor**: open the app and click **Open editor** in the top
right, or press <kbd>E</kbd>. The three panels above are its tabs. To see the app
the way your teammates will, go **Back to viewer** with the arrow at the far left
of the editor bar, or press <kbd>E</kbd> again.

Everything you change belongs to your private draft until you release it:

* **Run** processes the pipeline and refreshes the results. This is a private
  preview - your teammates keep seeing the last published results.
* **Publish** promotes the draft, so everyone sees your changes, and records the
  app as a version you can return to later. **Publish and run** does both in one
  step.

See [Draft and publish](../overview/apps.mdx#draft-and-publish) for the full cycle,
including discarding a draft and restoring an older version. Both touch data as well
as configuration: discarding a draft also throws away the rows you uploaded while it
was open, and restoring an older version brings that version's data back in place of
what has been entered since.

Changing the app's configuration and publishing it are for members with the
**App builder** or **Admin** role on the app. Anyone else who opens the editor sees
the pipeline, the Knowledge Base, skills and the Visualisation read-only, with no
**Publish**, **Discard** or **Restore**, and can still enter data in the app's tables.
See [Who builds and publishes](../overview/apps.mdx#who-builds-and-publishes).
