finds.dev← search

// the find

bruin-data/dac

★ 782 · Go · AGPL-3.0 · updated Oct 2026

DaC is a dashboard-as-code tool. Build interactive dashboards using YAML and JSX. Built-in semantic layer. Get your agents to build standardized, reviewable dashboards.

DAC defines dashboards as YAML or TSX files in a project directory, validates them with `dac validate`, and serves them locally with `dac serve`. It runs on Bruin's connection layer, so the databases Bruin already supports work here too, and it includes a semantic layer for defining metrics once. It is aimed at data teams who want dashboard changes to go through code review, whether a person or an agent wrote them.

- The semantic layer is the most useful part. Metrics and dimensions live in `semantic/` YAML and widgets reference them by name, so DAC generates the SQL and two dashboards are less likely to disagree about what revenue means.

- Dashboards are plain files checked against a published JSON schema in `schemas/dac`, and `dac validate --with-database` checks them against a live connection. That is the right gate for a pull request.

- Reusing Bruin connections means DAC carries no credential store or per-warehouse driver code of its own. The cost is the dependency on the Bruin CLI noted below.

- Query execution shells out to `bruin query`, so each widget query starts a child process and the Bruin binary must be on PATH. The README says nothing about the latency this adds or how Bruin's errors reach the user.

- The README describes no authentication for `dac serve`. Anyone who can reach the port can presumably see every dashboard and its query results, so sharing beyond a laptop is a separate project.

- AGPL-3.0 requires anyone who runs a modified DAC as a network service to offer their source to its users. Many companies will not adopt that for internal tooling without legal review.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →