dbt-core 1.8 · DuckDB · Kimball · 70 tests · 2 exposures

A production dbt warehouse
that builds in ~5 seconds.

Sources → staging → intermediate → marts. Tests, snapshots, exposures, macros. The pattern every modern analytics team runs — on a warehouse you can spin up on a laptop.

tests passing,
every dbt build
Models
5 + 3 + 6
stg · int · marts
Tests
70 / 70
all passing
Revenue
$6.9M
cumulative in warehouse
Build time
~5 s
end-to-end
Why it matters

dbt appears in nearly every US/CA data-team posting.
It appears in zero of seven comparable junior portfolios I surveyed.

This is the artifact that says "this person can ship into our stack on day one."

5,000 customers across 8 countries. 24 months of MRR snapshots across Starter / Growth / Pro tiers. 20k orders + 50k line items. Modeled into a Kimball star schema with surrogate keys, conformed dimensions, and a SCD-2 snapshot on customer.

Every column has a description. Every model has a purpose statement. Every key has a uniqueness test. A reusable Jinja macro converts cents to dollars in 4 different models — DRY SQL, not copy-paste.

$ make build

A clean run, every time.

From make all: seed sources → install packages → build models → run tests → render docs.

$ dbt build --target dev
Running with dbt=1.8.7
Found 5 sources, 6 marts, 3 intermediate, 5 staging models, 70 data tests, 1 snapshot, 2 exposures, 2 macros
 
12:42:01 | Concurrency: 4 threads (target='dev')
12:42:01 | 1 of 70 START seed file raw.seed_countries ........................ [OK in 0.04s]
12:42:01 | 2 of 70 START sql view model dbt_main.stg_customers ............... [OK in 0.18s]
12:42:01 | 3 of 70 START sql view model dbt_main.stg_orders .................. [OK in 0.16s]
12:42:02 | ...
12:42:04 | 68 of 70 START test unique_fct_orders_order_key ................ [PASS in 0.03s]
12:42:04 | 69 of 70 START test relationships_fct_orders.customer_key ..... [PASS in 0.04s]
12:42:04 | 70 of 70 START test assert_no_future_dated_events ............ [PASS in 0.02s]
 
Completed successfully · 70 PASS · 0 WARN · 0 ERROR · 0 SKIP
Done. PASS=85 WARN=0 ERROR=0 SKIP=0 TOTAL=85 · Took 4.33s
 
$ python scripts/render_dag.py
Wrote outputs/dag.png (1024x768, 22 nodes, 31 edges)
The discipline

What's inside the project.

The stack

Built with.

dbt-core 1.8DuckDBdbt-utilsdbt-expectationsJinja macrosSnapshots SCD-2KimballMakefile