Lightdash
The open-source Looker alternative that turns your dbt project's metrics and dimensions into governed, self-serve charts and dashboards — no license key required.
Lightdash is an open-source business intelligence platform built specifically around dbt. Instead of asking teams to redefine metrics in a second proprietary modeling language, it reads the dimensions and metrics already declared in your dbt project’s YAML, compiles them into “explores,” and lets business users self-serve charts and dashboards against them without writing SQL directly against the warehouse. It positions itself explicitly as an affordable, self-hostable alternative to Looker.
Under the hood it is a pnpm/Turborepo TypeScript monorepo: a Node.js/Express backend backed by Knex and PostgreSQL, a React 19 + Mantine frontend built with Vite, a family of warehouse-client packages covering BigQuery, Snowflake, Redshift, Databricks, Postgres, Trino, ClickHouse and DuckDB, a Peggy-based formula engine that compiles spreadsheet-style formulas into per-dialect SQL, and a CLI for validating dbt projects and managing preview deployments. A separate Graphile-Worker scheduler process and a dedicated headless-browser container handle scheduled deliveries, Slack/email exports, and screenshotting independently of the main API.
Lightdash ships as an open-core project. The large majority of the codebase — the query engine, dbt integration, charting, dashboards, and warehouse adapters — is MIT licensed and fully usable self-hosted with no license key. A parallel ee/ module under the backend, frontend, and common packages carries a separate Lightdash Source Available License and gates enterprise capabilities such as SSO/SAML/SCIM, custom RBAC roles, AI agents, and embedding behind a paid Enterprise Subscription.
What You Get
- A dbt-native semantic layer that reuses the metrics, dimensions, and descriptions you’ve already declared in your dbt project instead of requiring a second modeling language
- A self-serve chart and dashboard builder with drill-downs into underlying records, table calculations, and chart/dashboard version history
- Warehouse-adapter support out of the box for BigQuery, Snowflake, Redshift, Databricks, Postgres, Trino, ClickHouse, and DuckDB
- A CLI for validating dbt projects, spinning up preview environments, and managing charts/dashboards as code from CI/CD
- Scheduled deliveries to Slack and email plus PDF/CSV/image exports rendered through a dedicated headless-browser service
- A generated REST API (via TSOA/OpenAPI) for programmatic access to projects, charts, and dashboards
Common Use Cases
- Self-serve analytics for non-technical stakeholders who need to explore pre-approved metrics without SQL
- Migrating a team off Looker/LookML while keeping metric definitions inside the existing dbt project
- Governing metric changes through CI, using preview deployments before they reach production dashboards
- Scheduling recurring dashboard or chart deliveries to Slack channels or email distribution lists
- Rolling out BI with enterprise access controls (SSO, SCIM, custom roles) for larger organizations
Under The Hood
Architecture
Lightdash is a pnpm/Turborepo monorepo split into clearly separated packages — common (shared types and business logic), backend (an Express and Knex/PostgreSQL API plus a separate Graphile-Worker scheduler process), frontend (a React and Vite single-page app), warehouses (per-warehouse SQL client adapters), cli, and formula (a Peggy-grammar formula compiler) — with the backend’s App.ts wiring together Passport-based auth strategies, a generated TSOA/OpenAPI router, Knex-backed session storage, and client/model repository patterns that inject warehouse, cache, and analytics clients into services. Enterprise-only code is isolated into parallel ee/ subtrees under common, backend, and frontend, so the split-license boundary maps directly onto the module boundary rather than being scattered through the codebase. The backend, scheduler worker, and a separate headless-browser container are documented as not sharing a filesystem, which forces generated artifacts such as screenshots, PDFs, and CSVs through object storage rather than local disk, a deliberate constraint for horizontal scaling across services that may run on different nodes. Because nearly every feature is built on top of the compiled “explore” abstraction, changing that core model would ripple through the query compiler, warehouse clients, formula engine, and most of the frontend chart and dashboard UI.
Tech Stack
The backend is Node.js/TypeScript on Express with Knex as the query builder and migration tool against PostgreSQL, Passport for multi-strategy authentication (local, Google, Azure AD, generic OIDC, Okta, Slack, and warehouse OAuth flows), and TSOA to generate the OpenAPI spec and route handlers; the frontend is React with Mantine for UI components, TanStack Query for data fetching, and ECharts for visualization, built with Vite; warehouse connectivity is handled by dedicated clients in the warehouses package covering BigQuery, Snowflake, Redshift, Databricks, Postgres, Trino, ClickHouse, and DuckDB; and the repository is orchestrated with pnpm workspaces and Turborepo, shipped via Docker images (including a dedicated headless-browser image) and community Helm charts for Kubernetes deployment.
Code Quality Testing is extensive and uses Vitest across the backend, common, and warehouses packages, including dedicated integration tests for warehouse-protocol guarding and mocked warehouse clients, plus a separate Cypress end-to-end suite and a black-box formula test package that the repository’s own contributor guidance explicitly asks agents not to read directly and instead exercise through dedicated test-tier commands. CI runs linting, a fast typecheck, and a fast unit-test pass in parallel on every pull request, with additional path-based end-to-end and CLI test suites triggered conditionally. TypeScript is used throughout with strict-leaning compiler options, though one stricter indexed-access check is explicitly disabled with a comment acknowledging it isn’t yet safe across every package, an honest signal about incomplete strictness. Error handling favors typed custom error classes surfaced through centralized Express error-handling middleware rather than silent catches, and Husky plus lint-staged enforce linting and formatting at commit time.
What Makes It Unique What differentiates Lightdash from generic BI tools is treating the dbt project itself as the single source of truth for the semantic layer: metrics and dimensions are declared once in dbt YAML and Lightdash compiles dbt’s own manifest into explores, rather than requiring a second proprietary modeling language. On top of that it layers a genuinely distinctive formula engine that parses spreadsheet-style formulas through a custom grammar and compiles them into warehouse-specific SQL across multiple dialects, and an enterprise AI layer with agent services and MCP tool servers that lets an LLM query, and in some configurations write back to, the governed semantic layer rather than raw SQL.
Self-Hosting
Licensing Model
Split license: everything outside the ee/ directories in the backend, frontend, and common packages is MIT licensed and fully usable self-hosted with no license key. Code under packages/*/src/ee/ is covered by the separate Lightdash Source Available License and requires a valid Enterprise Subscription to use in production.
Self-Hosting Restrictions
- SSO/SAML and SCIM 2.0 provisioning (Enterprise tier only)
- Custom role-based access control beyond the built-in roles
- AI agents, MCP tool servers, and AI-assisted chart/dashboard generation
- Embedding via iframe or the React embed SDK
- Managed pre-aggregation materialization for large semantic layers
- Longer scheduled-delivery/version-history retention windows than the self-hosted default, per Lightdash’s published pricing page
Enterprise Features
- SOC 2 compliance with HIPAA and BAA support
- On-premises or dedicated-region deployment options
- Dedicated account manager and a priority (8-hour) support SLA
- Hands-on, white-glove migration support from other BI tools
Cloud vs Self-Hosted Lightdash Cloud (the Cloud Pro tier) adds hosted infrastructure plus features like scheduled reports/alerting at scale, a governed metrics catalog and explorer, AI agents, embedding as an add-on, extended version history, and guided onboarding with a support SLA — none of which are part of the free self-hosted install.
License Key Required
Yes, but only to run code inside the ee/ directories in production. The core self-hosted product — dbt integration, querying, charts, dashboards, and warehouse adapters — requires no license key.
Related Apps
Grafana
Monitoring · Analytics
The open-source observability platform that unifies metrics, logs, and traces from any data source into dynamic, queryable dashboards.
Grafana
AGPL 3.0OpenBB
Databases · Analytics · Invoicing Finance
The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics
OpenBB
OtherClickHouse
Databases · Analytics · Data Engineering
Open-source column-oriented database that delivers real-time analytical queries on petabyte-scale data with millisecond latency.