Skip to content

Concepts

Visivo is BI-as-code: you describe your dashboards in YAML, version them in git, and render them with the CLI or in Visivo Cloud. Almost everything you build is one of six core objects. Learn these and the rest of the documentation falls into place.

The object-type rainbow

Each Visivo object has a fixed color, from Sources (orange) through to Dashboards (rose). You'll see the same glyphs and colors across these docs, the marketing site, and the lineage graph in Visivo Cloud — so an object reads the same everywhere.

  • Source


    A connection to where your data lives — Postgres, Snowflake, BigQuery, DuckDB, a local file, and more.

    Source

  • Model


    A named SQL query (or dbt™ model) that shapes a Source into the table an Insight reads from.

    Model

  • Semantic layer


    Reusable Metrics, Dimensions, and Relations defined once and shared across every Insight.

    Semantic layer

  • Insight


    The unit of visualization — it binds a Model's columns to plotly props and carries client-side interactions.

    Insight

  • Input


    A dashboard control — dropdown, multi-select, range slider — whose value flows into your Insight queries.

    Input

  • Dashboard


    The page your team actually opens — a grid of rows and items that arrange your charts, tables, and inputs.

    Dashboard

How they fit together

flowchart LR
    S[Source]:::source --> M[Model]:::model --> I[Insight]:::insight --> C[Chart]:::chart --> D[Dashboard]:::dashboard
    SL[Semantic layer<br/>Metrics · Dimensions · Relations]:::metric --> I
    IN[Input]:::input --> I

    classDef source fill:#fff7ed,stroke:#f97316,color:#9a3412;
    classDef model fill:#fffbeb,stroke:#f59e0b,color:#92400e;
    classDef metric fill:#ecfeff,stroke:#06b6d4,color:#155e75;
    classDef insight fill:#faf5ff,stroke:#a855f7,color:#6b21a8;
    classDef input fill:#eef2ff,stroke:#6366f1,color:#3730a3;
    classDef chart fill:#fdf2f8,stroke:#ec4899,color:#9d174d;
    classDef dashboard fill:#fff1f2,stroke:#f43f5e,color:#9f1239;

A Source connects to your data. A Model turns that Source into a query result. An Insight reads a Model (optionally pulling reusable definitions from the Semantic layer) and produces a chart. Inputs let viewers filter and slice those charts. A Dashboard arranges the charts, tables, and inputs into a page.

How many concepts are there, really?

Six. These six objects are the canonical concept set across the docs, and every page uses them consistently. Charts and Tables are not a seventh and eighth concept; they are containers that arrange Insights on a Dashboard, so they live inside the Dashboard concept rather than alongside it.

Where to go next

  • New to Visivo? Start with Get Started and run your first dashboard.
  • Want field-by-field detail? Every concept page links down into the generated Configuration reference.
  • Curious how it all executes? See the Architecture page for the compile → run → serve model, or How It Works for a worked example.