
CEO & Co-founder of Visivo
The Modern Data Stack in 2026: Where the BI Layer Goes Next
The modern data stack has consolidated around the warehouse, dbt™, and a semantic layer. Here is what changed in 2026 and where the BI layer is heading.

The modern data stack in 2026 has stopped expanding and started consolidating. The center of gravity is now the warehouse, dbt™ for transformation, and a semantic layer for shared definitions, and the one layer that has not finished its migration from GUI to code is BI. That is where the action moves next.
For most of the last decade, "modern data stack" meant accumulation: a new tool for every problem, a logo slide that never stopped growing. The 2026 story is the opposite. Teams are collapsing the stack down to a few durable layers, governing them centrally, and demanding that each layer be defined in code. Here is what changed, why the semantic layer became non-optional, and why the BI layer is the last piece left to move.
The stack that consolidated
Walk into a data team in 2026 and the foundation looks remarkably similar from company to company. There is a cloud warehouse or lakehouse at the bottom (Snowflake, BigQuery, Databricks, increasingly DuckDB for the in-process tier). There is an ingestion layer pulling data in. There is dbt™ doing transformation. And there is, increasingly, a semantic layer sitting on top of the transformed tables defining the metrics everyone shares.
The interesting part is what consolidated. A few years ago every one of those boxes was a contested category with a dozen contenders and a fresh round of funding. Today the categories are settled enough that the conversation has shifted from "which tool" to "how do we make these layers work together and govern them as one system." Analytics-engineering surveys through 2026 show the same pattern: spend is concentrating, the number of distinct tools per team is being deliberately trimmed, and the layers that survive are the ones with a clear, code-defined contract between them.
Consolidation is not stagnation. It is what a category looks like when it grows up. The plumbing is solved, so attention moves up the stack to the parts that still hurt.
Transformation matured, BI lagged
The clearest success story of the modern data stack is transformation. dbt™ took the messiest, most error-prone part of analytics (the SQL that turns raw tables into clean models) and made it software. Version control, code review, tests, CI, documentation, lineage: transformation got all of it. An analytics engineer in 2026 ships a model change the same way a software engineer ships a code change, and that is now table stakes rather than a novelty.
BI did not get the same treatment. The dashboard layer, the thing executives actually look at, mostly stayed where it was: GUIs where you drag fields onto a canvas, where the definition of a metric is buried in a proprietary metadata store, where there is no diff, no pull request, and no test. The result is a stack that is rigorously engineered from ingestion through transformation and then suddenly turns into hand-clicked artifacts at the very top, exactly where the stakes are highest.
This asymmetry is the defining tension of the 2026 stack. We applied software discipline to everything except the layer with the most visibility, and the cracks show up as the same problems dbt™ was supposed to kill: definitions that drift, changes that do not propagate, numbers nobody can trace back to a source.
Why the semantic layer became non-optional
The semantic layer used to be a nice-to-have. In 2026 it is the connective tissue the rest of the stack depends on, and three forces pushed it from optional to required.
AI readiness. This is the big one. An AI data agent is only as accurate as the definitions it reasons over, and the 2026 benchmarks made that brutally concrete: point a model at ad-hoc dashboard SQL and it guesses, point it at a well-modeled semantic layer and its accuracy approaches the ceiling. I dug into the numbers in text-to-SQL vs the semantic layer. The short version: if you want AI to answer questions about your business, you need a single, machine-readable definition of what your business measures, and that is a semantic layer by definition.
Tool proliferation. When the same metric is consumed by a BI tool, a notebook, a reverse-ETL job, and an AI assistant, defining it four times in four places is how you guarantee four different numbers. A shared semantic layer is the only way to keep a metric consistent across every tool that reads it.
Governance mandates. As data teams get pulled into compliance and audit conversations, "where does this number come from and who approved it" stops being a nice question and becomes a required one. A semantic layer, defined in code and changed through review, answers it natively.
Put together, these forces mean the semantic layer is no longer a feature you might add. It is the layer the whole stack now organizes around, and adoption has surged accordingly.
AI readiness as the new forcing function
Every major shift in the data stack has had a forcing function. The move to cloud warehouses was forced by the economics of separating storage from compute. The dbt™ wave was forced by the realization that SQL was code and deserved to be treated like it. In 2026 the forcing function is AI.
The analytics-engineering data backs this up plainly: AI tooling is the single largest area of increasing investment, with something like 45 percent of teams growing their spend there per the 2026 State of Analytics Engineering reporting. But here is the part teams are learning the hard way. You cannot bolt AI onto a stack of hand-built dashboards and get reliable answers. AI does not fix an ungoverned stack; it ruthlessly exposes one. Every undefined metric, every ambiguous column, every join path that lives only in an analyst's memory becomes a hallucination waiting to happen.
So the AI investment is forcing the structural investment underneath it. To get value from AI, teams are being pushed to do the thing they should have done anyway: define their metrics in code, govern them centrally, and make the whole stack machine-readable. AI is not a new layer on top of the stack. It is the pressure that is finally making the existing layers earn their keep.
The next move: BI as the final code-defined layer
If you follow the logic, the conclusion is unavoidable. The stack is converging on a single discipline: define in code, govern centrally. The warehouse is code. Transformation is code. The semantic layer is code. The one layer that is still mostly GUI is BI, and it is the layer where the lack of code discipline causes the most visible damage.
So the next move is obvious: BI becomes the final code-defined layer of the stack. Dashboards stop being hand-clicked artifacts in a proprietary tool and become text files in your repository, defined against the same semantic layer the rest of the stack already shares, changed through the same pull-request workflow, tested in the same CI. When that happens, the stack is finally coherent end to end. There is no longer a seam where rigorous engineering gives way to manual clicking right before the data reaches a decision-maker.
This is not a prediction about a far-off future. It is the natural completion of a trend that has already played out at every other layer. BI is simply the last domino, and the AI forcing function is what is knocking it over.
How Visivo completes a code-first stack
Visivo exists to be that final layer. It takes the code-first discipline that dbt™ brought to transformation and extends it all the way to the dashboard. Metrics, dimensions, and relations are defined in version-controlled YAML; charts (Visivo calls them Insights) reference those definitions instead of re-deriving logic; and the whole thing lives in Git alongside the rest of your stack.
models:
- name: orders
sql: "SELECT * FROM orders"
metrics:
- name: net_revenue
expression: "SUM(amount - refunds)"
dimensions:
- name: order_month
expression: "DATE_TRUNC('month', created_at)"
insights:
- name: monthly-revenue
props:
type: bar
x: ?{ ${ref(orders).order_month} }
y: ?{ ${ref(orders).net_revenue} }
interactions:
- split: ?{ ${ref(orders).segment} }
Because the dashboard layer now lives in the same place and follows the same workflow as everything below it, the seam disappears. A metric defined for transformation flows into the semantic layer, into every Insight, and into whatever AI agent reads it, with one definition the whole way up. That is what a coherent 2026 stack looks like, and it is why we think the BI layer belongs in code right next to dbt™. If you want to see it concretely, the examples gallery is built on this model and /get-started takes you from install to a code-defined dashboard in minutes. For the architectural argument behind why dashboards belong in your repo at all, the case for BI-as-code lays the foundation.
Previously in Visivo
This post builds directly on text-to-SQL vs the semantic layer, which made the case that AI accuracy depends on a well-modeled semantic layer. Here I zoomed out to the whole 2026 stack to show why that same layer is becoming the organizing principle for everything, and why BI is the last piece left to move into code.