One chain, end to end
Each step below hands its work to the next. Every step is inspectable, so any figure can be followed back upstream.
-
Step 1
Where the data starts
Customer records, phone calls, marketing spend, crews in the field. Shody connects to more than ten systems the business already uses and extracts from each on its own Dagster schedule, so nobody is exporting spreadsheets by hand. A mapping layer normalizes each system's own codes and labels into one shared vocabulary on the way in.
-
Step 2
Landed before it is touched
Every pull lands raw and unedited first, and that untouched copy stays put. It is what makes it possible to answer, months later, whether a surprising number came from the source or from something we did to it.
-
Step 3
Shaped in the open
More than 180 dbt models turn raw records into clean tables in ordered layers — staging, then intermediate, then marts — each building on the one before. Every model's SQL is stored as a governed row under a review lock, not a loose file someone can quietly change.
-
Step 4
One definition per metric
A MetricFlow semantic layer holds more than a hundred KPIs, each with one definition, and changes to any of them go through review. Two teams asking for the same number get the same number, and can see exactly what it counts.
-
Step 5
Where it comes out
Reports on a schedule by email, CSV, and SFTP; dashboards; charts posted into Slack; an AI assistant that answers questions in plain language from the governed layer; and the BI tools teams already use. Those tools only ever see this last step. Shody is where a wrong number can be followed back to its cause.
What it runs on
Standard, inspectable tooling rather than a black box. Every layer keeps its own run history, so a number can be traced through all of them.
-
Dagster
Orchestration. Every extract, build, and report is a job on a schedule or a sensor, with its own run history and failure alerting.
-
dbt
Transformation. 180+ models in ordered layers, with tests on the keys and columns that downstream reports depend on.
-
MetricFlow semantic layer
100+ governed KPIs — simple, derived, and ratio metrics — each defined once. Definitions are promoted through review rather than edited in place.
-
Postgres warehouse
Raw landings and built marts in one place, queryable directly by the BI tools teams already use.
-
ELT and mapping
Extract and load first, transform after, so the original always survives. A mapping layer normalizes each system's codes into one vocabulary and flags values it has not seen.
-
AI assistant and Slack
Ask in plain language and get an answer computed from the governed layer, in the app or in Slack — with the query it ran, so the answer can be checked.
Sign in to Shody
A company account is required. What you can see depends on your access level.
Sign in