PersonalPersonal project (MIT) · 2026
A medallion pipeline you can actually read
Bronze, Silver and Gold on Databricks for market data, built small enough to explain end to end.
Author
The problem
Medallion architecture gets described a lot more often than it gets shown. I wanted a complete, readable reference where each layer's responsibility is obvious and the whole thing is small enough to hold in your head.
What I did
- Built the full pipeline: ingestion, layering, transformation and the analytics-ready output.
- Defined the contract for each layer so responsibilities do not bleed across boundaries.
- Kept it deliberately small; the point is legibility, not scale.
Architecture
- Bronze is append-only and faithful to the source. No cleaning, no opinions: if you clean here, you can never reproduce what the source actually sent.
- Silver deduplicates, enforces types and applies business rules. This is the layer that decides what 'correct' means.
- Gold aggregates into the shapes a dashboard consumes, so query-time work stays trivial.
- Each layer is a Delta table, which makes the boundaries inspectable and every step re-runnable.
What went wrong first
Resisting the urge to clean early
Filtering bad rows in Bronze is tempting and quietly destroys your ability to reproduce a source-side bug. Keeping Bronze faithful is a discipline, not a default.
Results
- layers with explicit contracts
- 3layers with explicit contracts
- MIT-licensed and readable end to end
- PublicMIT-licensed and readable end to end
A reference implementation is a teaching tool. The value is that someone can read all of it in one sitting and see exactly why each boundary exists.
Stack
DatabricksPySparkDelta LakePythonMedallion architecture