Building a Modern Data Pipeline: dbt, Airflow, and Snowflake in Practice
Every data pipeline engagement starts the same way: a client has data spread across a handful of source systems, a warehouse they've already bought, and a growing list of dashboards nobody fully trusts. The tools are rarely the problem. The pipeline architecture connecting them usually is.
The Three Mistakes We See Most Often
Transformation Logic Living in the BI Tool
The most common failure mode isn't a broken pipeline — it's a working one that nobody trusts, because the actual business logic (how "active customer" gets defined, which returns count against revenue) lives scattered across a dozen dashboard formulas instead of one place. Two analysts building the same metric get two different numbers, and there's no single source of truth to reconcile against.
We move that logic into dbt models, versioned in source control and tested like code, so "active customer" is defined exactly once and every downstream dashboard inherits the same definition.
Orchestration as an Afterthought
Pipelines built without a real orchestration layer tend to grow into a tangle of cron jobs with implicit dependencies nobody wrote down — job B assumes job A finished, until the day it didn't and nobody notices for a week. Apache Airflow (or a managed equivalent) makes those dependencies explicit as a DAG, with real retry logic and alerting when something breaks, instead of a silent stale table.
Treating the Warehouse as a Dumping Ground
Loading raw data into Snowflake and transforming it in place, without a clear layering strategy, makes every downstream model a query against a moving target. We structure warehouses in layers — raw, cleaned/conformed, and business-level marts — so a change to a source system's schema breaks one layer's tests, not every dashboard downstream simultaneously.
What a Well-Structured Pipeline Actually Looks Like
- Ingestion: raw data lands unmodified, so there's always a source of truth to reprocess from if a downstream transformation has a bug
- Transformation:
dbtmodels apply business logic once, with tests on the assumptions that actually matter (no duplicate order IDs, revenue never negative) - Orchestration:
Airflow(or equivalent) owns the dependency graph and retry logic, with alerting tied to specific model failures, not just "the pipeline ran" - Serving: business-level marts are the only layer BI tools query directly — analysts never write logic against raw or intermediate tables
A Practical Example
A retail client had four different definitions of "monthly active customer" living in four different dashboards, each technically defensible and each producing a different number in the same board meeting. We consolidated the logic into a single dbt model with an explicit, documented definition, tested against edge cases (customers with returns-only activity, guest checkouts), and pointed every dashboard at that one model instead of its own bespoke query. The number stopped changing depending on which dashboard someone opened — not because the underlying data got better, but because there was finally one definition instead of four.
The Actual Lesson
Pipeline reliability problems are almost never about picking the wrong tool. They're about business logic living in the wrong layer, dependencies that were never made explicit, and warehouses with no clear boundary between raw data and something an executive should be looking at. Fix the layering and the orchestration, and most of the "our data doesn't match" conversations stop happening.
If your team is dealing with pipeline reliability or trust issues, our data engineering team can assess where the actual breakdown is before recommending a rebuild.
Back to all articlesRelated Articles
How We Cut P95 API Latency by 40% Without a Rewrite
Three changes that mattered more than the framework we were using.
A Practical Guide to RAG Pipeline Evaluation
The metrics that actually predict whether your RAG system will hold up in production.
Core Web Vitals in 2026: What Actually Moves the Needle for Enterprise Web Apps
Most Core Web Vitals advice targets marketing sites — enterprise web apps have a different bottleneck.